Python文件的读写操作
Python文件的使用
要点:Python能够以文本和二进制两种形式处理文件。
1.文件的打开模式,如表1:
注意:使用open()函数打开文件,文件使用结束后耀使用close()方法关闭,释放文件的使用授权。
2.文件的读写
2.1文件的写入方法,如表2:
2.1.1示例一
1 fname =input("请输入要写入的文件:") 2 #以追加形式写入文件 3 fo = open (fname,"w+") 4 #定义列表 5 ls = ["唐诗","宋词","元曲"] 6 fo.writelines(ls) 7 #从文件开头开始写入 8 fo.seek(0) 9 #循环打印出写入文件中的内容 10 for line in fo: 11 print(line) 12 #关闭文件(避免资源占用) 13 fo.close()
2.1.2运行结果
2.2文件的读取方法,如表3:
注意:文件的换行符
1.如果采用二进制的方式打开文件,换行符只是一个符号,对应一个字节,表示为“\n”;
2.如果采用文本方式打开文件,换行符表示一行的结束,辅助程序对文件的处理。文件的换行符是真实存在的一个字符。
2.2.1示例二
1 fname1 =input("请输入要打开的文件:") 2 # 以只读取的方式读取文件内容 3 fo1 = open (fname1,"r") 4 fo1.readlines() 5 # 从文件开头开始读取文件内容 6 fo1.seek(0) 7 # 循环打印出文件的内容 8 for line1 in fo1: 9 print(line1) 10 # 关闭文件(避免资源占用) 11 fo1.close()
2.2.2运行结果
3.由于在实际编码中,对文件的操作是十分频繁的,编写代码时,如果按照以往的规则,靠手动关闭文件,难免会出现忘记关闭文件的现象,因此,Python在技术上提供了自动关闭文件的功能,减轻程序员的代码编写负担,也避免忘记关闭文件,而造成的资源浪费和程序稳定。(小型操作文件时,不关闭文件,对程序的影响较小。但在大型的系统中,如果文件不及时关闭,会导致系统的崩溃)
3.1优化后的代码如下:
1 # 文件读写编码格式 2 # 'demo.txt'文件名,读取方式,文本格式 3 with open('demo.txt','r',encoding='utf-8') as f: 4 for line in f.readlines(): 5 # end=''控制文本中换行时不读取出换行号 6 print(line,end='') 7 # 定义列表 8 ls = ["sunny","dghahdfg"] 9 with open('demo.txt','a',encoding='utf-8') as f: 10 for line in ls: 11 # 写入文件 12 f.write('{}\n'.format(line))
4.小练习----统计文件中内容的行数(三种方式实现)
1 with open('demo.txt','r',encoding='utf-8') as f: 2 for line in f.readlines(): 3 # end=''控制文本中换行时不读取出换行号 4 print(line,end='') 5 # 计算行数1 6 # 文档中的内容以行为单位为列表的一个元素,存入列表 7 ls=f 8 # 调用计算列表元素个数函数len()统计行数 9 print(len(ls)) 10 # 计算行数2 11 count = len(open('demo.txt', 'r').readlines()) 12 print(count) 13 # 计算行数3 14 count = 0 15 for index, line in enumerate(open('demo.txt','r')): 16 count += 1 17 print(count)