python 文件 IO 操作

Python 的底层操作

*  其实Python的文件IO操作方法,和Linux底层的差不多
  • 打开

    f = open(filename , "r")
    后面的 "r" 是权限参数, 类似的还有下面的参数
    r        以只读的方式打开文件,文件流指针,会放在最前面
    rb      以只读的方式二进制形式打开文件,文件流指针会放在最前面
    f+      以读写的方式打开一个文件,指针在头部
    rb+    以读写的方式打开一个二进制文件,指针在头,写的数据,一定要是二进制数据
    w       以只写的方式,打开一个文件,如果文件存在,会将其覆盖,如果不存在,将会创建
    wb     以只写的方式,打开一个二进制文件,如果文件存在,会将其覆盖,如果不存在,将会创建,写的数据,一定要是二进制格式数据
    w+     以读写的方式,打开一个文件,如果文件存在,会将其覆盖,如果不存在,将会创建
    wb+   以读写的方式,打开一个二进制文件,如果文件存在,会将其覆盖,如果不存在,将会创建,写的数据,一定要是二进制格式数据  
    a        打开一个文件用于追加数据,如果文件存在,文件流指针会放在结束,如果不存在,则创建
    ab      以二进制的方式打开一个文件用于追加数据,如果文件存在,文件流指针会放在结束,如果不存在,则创建 
    a+      打开一个文件用于追加数据,如果文件存在,文件流指针会放在结束,如果不存在,则创建
    ab+    以二进制的方式打开一个文件用于追加数据,如果文件存在,文件流指针会放在结束,如果不存在,则创建 
    
  • data = f.read(64)
    read([size])	从文件 当前位置 起读出size个字节;若无参数size,则表示读取至文件结束为止。返回一个str
    readline()	每次读出一行内容。返回一个str
    readlines()	一次读出文件的所有行,保存在一个list中,每行作为一个元素。返回一个list
    linecache.getline(‘1.txt’, 2)	读出文件的第2行。返回一个str
    
    可以用 with 进行读
    with open(filename, "r") as f:
        print(f.read())
    一次性将所有操作做完, open read, close
    
  • f.write(data)
    write()	将str(而不是数字)写入一个打开的文件。不会自动在字符串的结尾添加换行符(‘
    ’)
    writelines()	将list(也可以是str)写入一个打开的文件。不会自动在字符串的结尾添加换行符(‘
    ’)
    
    with open(filename , "w") as f:
        f.write(data)
    也可以一次性将所有数据,写进去,open write clone    
    
  • close

    f.close()
    
原文地址:https://www.cnblogs.com/chenfulin5/p/9366821.html