• Python的open函数


    打开一个文件并向其写入内容

    Python的open方法用来打开一个文件。第一个參数是文件的位置和文件名称。第二个參数是读写模式。这里我们採用w模式,也就是写模式。在这样的模式下,文件原有的内容将会被删除。

    #to write
    testFile = open('cainiao.txt','w')
    #error testFile.write(u'菜鸟写Python!')
    #写入一个字符串
    testFile.write('菜鸟写Python!')
    #字符串元组
    codeStr = ('<div>','<p>','全然没有必要啊!

    ','

    ','

    ')
    testFile.write(' ')
    #将字符串元组按行写入文件
    testFile.writelines(codeStr)
    #关闭文件。


    testFile.close()向文件加入内容

    在open的时候制定'a'即为(append)模式,在这样的模式下,文件的原有内容不会消失,新写入的内容会自己主动被加入到文件的末尾。

    #to append
    testFile = open('cainiao.txt','a')
    testFile.write(' ')
    testFile.close()读文件内容

    在open的时候制定'r'即为读取模式。使用

    #to read
    testFile = open('cainiao.txt','r')
    testStr = testFile.readline()
    print testStr
    testStr = testFile.read()
    print testStr
    testFile.close()在文件里存储和恢复Python对象

    使用Python的pickle模块。能够将Python对象直接存储在文件里,而且能够再以后须要的时候又一次恢复到内容中。

    testFile = open('pickle.txt','w')
    #and import pickle
    import pickle
    testDict = {'name':'Chen Zhe','gender':'male'}
    pickle.dump(testDict,testFile)
    testFile.close()
    testFile = open('pickle.txt','r')
    print pickle.load(testFile)
    testFile.close()二进制模式

    调用open函数的时候。在模式的字符串中使用加入一个b即为二进制模式。

    #binary mode
    testFile = open('cainiao.txt','wb')
    #where wb means write and in binary
    import struct
    bytes = struct.pack('>i4sh',100,'string',250)
    testFile.write(bytes)
    testFile.close()

    读取二进制文件。

    testFile = open('cainiao.txt','rb')
    data = testFile.read()
    values = struct.unpack('>i4sh',data)
    print values1.open使用open打开文件后一定要记得调用文件对象的close()方法。

    比方能够用try/finally语句来确保最后能关闭文件。

    file_object = open('thefile.txt')
    try:

    all_the_text = file_object.read( ) 

    finally:

    file_object.close( )

    注:不能把open语句放在try块里。由于当打开文件出现异常时,文件对象file_object无法运行close()方法。
    2.读文件读文本文件
    input = open('data', 'r')
    #第二个參数默觉得r
    input = open('data')

    读二进制文件
    input = open('data', 'rb')

    读取全部内容
    file_object = open('thefile.txt')
    try:
     all_the_text
     = file_object.read( )
    finally:
     file_object.close( )

    读固定字节
    file_object = open('abinfile', 'rb')
    try:
     while True:
     chunk
     = file_object.read(100)
     if not chunk:
     break
     do_something_with(chunk)
    finally:
     file_object.close( )

    读每行
    list_of_all_the_lines = file_object.readlines( )

    假设文件是文本文件,还能够直接遍历文件对象获取每行:
    for line in file_object:
     process line

    3.写文件写文本文件
    output = open('data', 'w')

    写二进制文件
    output = open('data', 'wb')

    追加写文件
    output = open('data', '')

    写数据
    file_object = open('thefile.txt', 'w')
    file_object.write(all_the_text)
    file_object.close( )

    写入多行
    file_object.writelines(list_of_text_strings)

    注意。调用writelines写入多行在性能上会比使用write一次性写入要高。





    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    rU 或 Ua 以读方式打开, 同一时候提供通用换行符支持 (PEP 278)
    w      以写方式打开 (必要时清空)
    a      以追加模式打开 (从 EOF 開始, 必要时创建新文件)
    r       以读写模式打开
    w       以读写模式打开 (參见 w )
    a       以读写模式打开 (參见 a )
    rb      以二进制读模式打开
    wb      以二进制写模式打开 (參见 w )
    ab      以二进制追加模式打开 (參见 a )
    rb      以二进制读写模式打开 (參见 r )
    wb      以二进制读写模式打开 (參见 w )
    ab      以二进制读写模式打开 (參见 a )

    a.      Python 2.3 中新增

    http://www.360doc.com/content/14/0425/12/16044571_372066859.shtml

  • 相关阅读:
    Nginx 提示host not found in upstream 错误解决方法
    使用Vmware CLI 6.5控制虚拟机,并做快照
    在 Windows服务器中启用/禁用SMBv1、SMBv2和SMBv3的方法
    使用python调用wps v9转换office文件到pdf
    Tomcat延迟启动
    配置frp
    PowerDesigner逆向生成MYSQL数据库表结构总结
    windows下载安装MariaDB10.2.17 绿色版
    Mosquitto --topic
    Jmeter也能IP欺骗!
  • 原文地址:https://www.cnblogs.com/wzjhoutai/p/7259911.html
Copyright © 2020-2023  润新知