python文件读写

1、r 打开只读文件,该文件必须存在。
2、r+ 打开可读写的文件,该文件必须存在。
3、w 打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件。
4、w+ 打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。
5、a 以附加的方式打开只写文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留。
6、a+ 以附加方式打开可读写的文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留。
7、上述的形态字符串都可以再加一个b字符,如rb、w+b或ab+等组合,加入b 字符用来告诉函数库打开的文件为二进制文件,而非纯文字文件。不过在POSIX系统,包含Linux都会忽略该字符。

以上是网友整理的,只说一下我今天遇到的情况
win10+ python2.7.10
r+ 可以读文件,可以写文件,且可以使用file.seek(0)指定偏移量为起始位置
w+ 不能读文件,可以写文件,写文件是从偏移量为起始位置开始写的
a+ 可以读文件,可以写文件,但是,使用file.seek(0)之后,使用file.tell
查看当前偏移量的的位置,也是0 ,但是写文件的一直是追加。
以前只知道r+,w+,a+都是可以读写文件的,不知道详细区别,也没有资料去讲这个事情,今天自己试了之后。才知道其中一点点差别

def testdict():
    dict = {}
    host_names_context = open(host_names_cfg_file,'r')
    host_list = host_names_context.readlines();
    result = "";
    strreg = re.compile("\\s");
    for line in host_list:
        if not line.startswith("#"):
            tmp = strreg.split(line)
            print(tmp)
            result = result+tmp[0]+'\t'+tmp[1]+'\n'
            dict[tmp[0]] = tmp[1]
    print(dict)
    print(dict.get("192.168.10.212"))
    print(dict.get("192.168.10.2122")==None)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 什么是文件: 计算机文件属于文件的一种,与普通文件载体不同,计算机文件是以计算机硬盘为载体存储在计算机上的信息集合...
    qtruip阅读 284评论 0 0
  • 一、read。 open(file, mode='r', buffering=-1, encoding=None,...
    旧__阅读 434评论 0 0
  • 1 IO的含义 在计算机中,IO是Input/Output的简写,也就是输入和输出。 由于程序和运行时数据是在内存...
    hufengreborn阅读 27,668评论 2 13
  • 内建函数open成功打开文件后会返回一个文件对象,否则会引发一个异常IOError:file_object = o...
    jockerMe阅读 1,115评论 1 7
  • 秋山是日本著名“秋山木工”的创办人,1971年创办,从1个人到34名工匠,年产值10亿日元。秋山木工为客户定制一流...
    不二2017阅读 890评论 3 7