Python 读写文件操作

2016/05/12 Python

  Python 对文件进行读和写操作还是挺方便的,可以使用 open模式 进行操作,用起来还是很自由的,可以一次全部读入内容存入一个字符串(小数据量好用),也可以逐行读取.

1.使用 open 和 file 直接进行读和写

  • 读文件,这种方法会把文件一次性全部读入到内存中,然后再逐行打印,并不是一个很好的方法,当文件很大时候,内存就吃不消了

txt = open("test.txt")
line = txt.readlines()
for lines in line:  
    print lines

  • 利用file的迭代器读取,这种方法并没有显示的读取整个文件,而是利用迭代器每次读取一行,这种方法书写简单,速度也快,处理大文件也没问题,建议这种方法

for line in open("test.txt"):  
    print line

  • 写入文件
wr = file("write.txt",'a+')  
        read.write("\n")  
        read.write("write string to txt file")  
        read.close  
  • 或者打开一个文件然后进行写入操作
wr = open("write.txt","w")
wr.write("string to write")
wr.close()

2.一次性全部读取文件作文一个字符串处理

  • 当文件内容不大时候,可以一次性全部读取,作为一个大的字符串
all_data = open("test.txt").read( )

3.打开文件的模式

  • file_handler = open(filename,mode)
  • mode
模式  描述 
r 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
rb 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。
r+ 打开一个文件用于读写。文件指针将会放在文件的开头。
rb+ 以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。
w 打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
wb 以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
w+ 打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
wb+ 以二进制格式打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
a 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
ab 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
a+ 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
ab+ 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。
  • 打开一个 flie 后这个文件是一个对象,可以对这个文件对象属性进行操作
  • file 文件的所有属性:
属性  描述   
file.closed 返回true如果文件已被关闭,否则返回false。
file.mode 返回被打开文件的访问模式。
file.name 返回文件的名称。
file.softspace 如果用print输出后,必须跟一个空格符,则返回false。否则返回true。

4. Python 目录操作

  • 以下基因 os 模块操作 使用前先 import os

  • 改变当前工作目录


os.chdir("/home/dir")
  • 获取当前工作目录
os.getcwd()

  • 创建目录
  • 可以使用 os 模块的 mkdir() 方法在当前目录下创建新的目录

os.mkdir("/home/test")
  • 删除目录
  • 可以使用 os 模块的 rmdir() 方法删除当前目录
os.rmdir( "/tmp/test"  )




  • 除非注明,本博文即为原创,转载请注明本博文链接地址
  • 本博文只用于分享和交流知识,不得转载商用或个人牟利
  • 如果您觉得文章对您有帮助,可以通过点击下面按钮分享

Search

    Post Directory