在使用python编程时,经常会遇到读写文件的操作。

读写文件的各种模式(如阅读、写入、追加等),以及open、read、readline、readlines、write等方法的使用。

本文主要是python读写文件

 

open函数

如果你想用python读取文件(如txt、csv等),第一步要用open函数打开文件。open()是python的内置函数,它会返回一个文件对象,这个文件对象拥有read、readline、write、close等方法。

open函数有两个参数:

open('file','mode')

参数解释
file:需要打开的文件路径
mode(可选):打开文件的模式,如只读、追加、写入等

mode常用的模式:

  • r+: 表示文件读写
  • a+:表示打开文件(读/写/创建/结尾追加)【注意点:a+模式打开文件指针在文件结尾处,所以直接读是读不到内容的】
  • w+:  表示可以对文件(读/写/创建/覆盖)【注意点:w+在打开时会覆盖原文件,所以导致每次打开时都会是个空文件】

(按照上边的注意点:我们在只想要读取的时候最好还是使用r+,当有文件写入的时候使用a+或者w+)

python中open的file_path可以用字符串代替吗 python中open().read()_Desktop

简单例子:

#!/usr/bin/env python2.7
# -*- coding=utf-8 -*-

# 使用open函数 第一个参数是文件地址,第二个参数是打开模式,该函数返回一个文件对象(注意这里的文件一定要存在,如果不确认的话,可以使用try捕捉)
try:
    f = open('/Users/info/Desktop/paramter.txt','w+')
    # 对文件对象进行写入操作
    for i in range(1000):
        if i % 2 != 0:
            f.write('Fasle\n')
        else:
            f.write('True\n')
except IOError:
    print('文件未找到')
finally:
    f.close()

 文件对象的各种方法使用例子:

#!/usr/bin/env python2.7
# -*- coding=utf-8 -*-

"""
file文件中内容:
123
234
345
456
"""

f = open('*******','r+')

# read
print f.read()
# >>> /usr/bin/python2.7 /Users/info/Desktop/happy_work/test/test28.py
# >>> 123
# >>> 234
# >>> 345
# >>> 456

________________________________________________________________________

# readline
print f.read()
# >>> /usr/bin/python2.7 /Users/info/Desktop/happy_work/test/test28.py
# >>> 123

___________________________________________________________________________

# readlines
print f.readlines()
# >>> /usr/bin/python2.7 /Users/info/Desktop/happy_work/test/test28.py
# >>>['123\n', '234\n', '345\n', '456']
# 注意这里返回的是一个list 通常可以配合这for in使用

____________________________________________________________________________

# seek 方法用于移动文件读取指针到指定位置。
f.seek(2)
f.write('b')
# a23 >>> a2b
# 234
# 345
# 456

____________________________________________________________________________

# tell
# 获取指针当前位置
f.seek(2)
f.tell() # return 2

____________________________________________________________________________

# flush
# 文件关闭后自动刷新缓冲区到文件,这个方法的作用是可以在关闭文件之前将内容刷新进去

____________________________________________________________________________


# write
print f.write('a')
# return None 没有返回值,开始进行替换,不会将所有内容进行覆盖
# a23
# 234
# 345
# 456

____________________________________________________________________________

# close
# 使用完成后进行close 防止内存溢出

 

With关键字

with open('/path/to/file', 'r') as f:
    print(f.read())

 

下图为我们这篇文章的一个总结:

python中open的file_path可以用字符串代替吗 python中open().read()_python_02