python 文件读取

 文件不用手动创建,open接口读取写入的时候,没有会创建的

python写入的方法:open("backup1.data", "w")

python读取的方法:open("backup1.data")

jsonArr = []
#写入文件 json格式的
def writeJSon():
    arr = [1]
    for i in arr:
        jsonObj = {}
        jsonObj["name"] = "name"+str(i);
        jsonObj["age"] = "age"+str(i);
        jsonObj["sex"] = "sex"+str(i);
        global jsonArr
        jsonArr.append(jsonObj)
    try:
        #如果文件里有内容,直接覆盖掉
        f = open("backup1.data", "w")
        f.write(str(jsonArr))
        f.close()
    except Exception:
        pass

#读取文件 json格式的
def readJson():
    try:
        f = open("backup1.data")
        global jsonArr
        jsonArr = eval(f.read())
        f.close()
        print(jsonArr)
    except Exception:
        pass

if __name__ == "__main__":
    #调用主函数
    writeJSon()
    readJson()

  

模式描述
r 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
rb 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。
r+ 打开一个文件用于读写。文件指针将会放在文件的开头。
rb+ 以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。
w 打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
wb 以二进制格式打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
w+ 打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
wb+ 以二进制格式打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
a 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
ab 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
a+ 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
ab+ 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。

file 对象方法

  • file.read([size]):size 未指定则返回整个文件,如果文件大小 >2 倍内存则有问题,f.read()读到文件尾时返回""(空字串)。

  • file.readline():返回一行。

  • file.readlines([size]) :返回包含size行的列表, size 未指定则返回全部行。

  • for line in f: print line :通过迭代器访问。

  • f.write("hello "):如果要写入字符串以外的数据,先将他转换为字符串。

  • f.tell():返回一个整数,表示当前文件指针的位置(就是到文件头的比特数)。

  • f.seek(偏移量,[起始位置]):用来移动文件指针。

    • 偏移量: 单位为比特,可正可负
    • 起始位置: 0 - 文件头, 默认值; 1 - 当前位置; 2 - 文件尾
  • f.close() 关闭文件

原文地址:https://www.cnblogs.com/mafy/p/12053026.html