Python学习:文件(file)

发布时间:2019-08-09 10:34:13编辑:auto阅读(1580)

    内置open()函数会创建一个Python文件对象,可以作为计算机上的一个文件链接。在调用open()之后,可以通过调用返回文件对象的方法来读写相关外部文件。

    • 打开文件:

    output = open('C:\spam', 'w')       #打开文件,模式为写入
    input = open('C:\spam', 'r')        #打开文件,模式为读出
    input = open('C:\spam')             #同上,默认为'r'
    • 文件的读操作:

    aString = f.read()              #把整个文件读进单一字符串aString中
    aString = f.read(N)             #读取文件的前N个字符,存入aString
    aString = f.readline()          #读取一行
    aString = f.readlines()         #读取整个文件,存入字符串列表aString
    • 文件的写操作:

    f.write(aString)                #写入aString字符串到f文件
    f.writelines(aList)             #把列表aList中的所有字符串写入文件f
    • 关闭文件:

    f.close()

    其他操作:

    f.flush()              
    f.seek(N)                #修改文件位置到偏移量N处,进行下一步操作
    for line in f.open('myfile'):           #文件迭代器一行一行的读取
    open('filename.txt', encoding='latin-1')     #Python3. Unicode文本文件(string字符串)
    open('filename.txt', 'rb')        #Python3.0二进制byte文件(bytes字符串)

    注:文件数据在脚本中一定是字符串,而写入方法如f.write()不会替我们坐任何字符串转换工作,需要我们手动转换。

    • 内置函数eval()

    >>>line = F.readline()
    >>>line
    "[1,2,3]${'a':1, 'b':2}\n"
    >>>parts = split('$')
    >>>parts
    ['[1,2,3]', "{'a':1, 'b':2}\n"]
    >>>eval(parts[0])
    [1,2,3]
    >>>obj = [eval(P) for P in parts]
    >>>obj
    [[1,2,3],{a':1, 'b':2}]


    • 用pickle模块存储Python的原生对象

    pickle模块是能够让我们直接在文件中存储几乎任何Python对象的高级工具,也并不要求我们把字符串转换来转换去。它就像是超级通用的数据格式化和解析工具。例如,想要在文件中存储字典,就直接用pickle来储存。

    >>>D = {'a':1, 'b':2}
    >>>F = open('myfile', 'wb')
    >>>import pickle
    >>>pickle.dump(D,F)

    之后想要取回字典时:

    >>>pickle.load(F)

    事实上,pickle内部将字典转成字符串形式。

关键字

上一篇: python接口测试(三)

下一篇: python多进程