Python中关于txt的简单读写模式与操作

Python中关于txt的简单读写操作

常用的集中读写模式:

1、r 打开只读文件,该文件必须存在。 
2、r+ 打开可读写的文件,该文件必须存在。 
3、w 打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件。 
4、w+ 打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。 
5、a 以附加的方式打开只写文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留。 
6、a+ 以附加方式打开可读写的文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留。
7、上述的形态字符串都可以再加一个b字符,如rb、w+b或ab+等组合,加入b 字符用来告诉函数库打开的文件为二进制文件,而非纯文字文件。不过在POSIX系统,包含Linux都会忽略该字符。

  1 读取全部内容

try:
    #python3的open函数可以额外加一个encoding参数
    txt_file_handle=open("1.txt","r",encoding="utf-8")
    #read函数:直接取读文件的所有内容
    #参数:根据长度读取内容
    print(txt_file_handle.read(5))
    print("*"*50)
    #readline函数:读取文件的游标所在的一行
    #seek(0):将文件的游标指向最开始的位置
    txt_file_handle.seek(0)
    print(txt_file_handle.readline())
    print(txt_file_handle.readline())
    #readlines函数:去读文件的所有行,返回的是列表
    print("*"*50)
    print(txt_file_handle.readlines())
    print(txt_file_handle)
    txt_file_handle.close()
except FileNotFoundError as e:
    print ("文件不存在!")

  2 逐行读取

# 打开文件
file_obj = open(txt_filename, 'r')

# 逐行读取
line1 = file_obj.readline()
print(line1)


# 继续读下一行
line2 = file_obj.readline()
print(line2)

# 关闭文件
file_obj.close()

 

  3 读取全部内容,返回列表

# 打开文件
file_obj = open(txt_filename, 'r')

lines = file_obj.readlines()

for i, line in enumerate(lines):
    print ('{}: {}'.format(i, line))

# 关闭文件
file_obj.close()

 

  4 写操作

# 打开文件
file_obj = open(txt_filename, 'w')

# 写入全部内容
file_obj.write("《Python数据分析》")
file_obj.close()


# 打开文件
file_obj = open(txt_filename, 'w')

# 写入字符串列表
lines = ['这是第%i行\n' %n for n in range(100)]
file_obj.writelines(lines)
file_obj.close()

 

  5 推荐写法

从上边几种读写方式中不难发现, 每次进行读写操作时都要调用close()函数将文件关闭, 使用起来并不方便,所以推荐以下写法:

try:
    with open("1.txt","r+",encoding="utf-8")as txt_file_handle:
        txt_file_handle.write()
except FileNotFoundError as e:
    print ("文件不存在!")

  文件操作的推荐写法, 只要是文件操作,保险起见都要用try except进行异常捕获, with 写法的特点:不需要手动close, write() 里面填写内容即可, 其中

  with语句

  • 包括了异常处理,自动调用文件关闭操作,推荐使用
  • 适用于对资源进行访问的场合,确保无论适用过程中是否发生异常都会执行"清理"操作,如文件关闭、线程的自动获取与释放等

 

posted @ 2017-08-22 20:23  领着猫散步的鱼  阅读(800)  评论(0编辑  收藏  举报