【python】读写文件

1.打开文件与文件模式

1.1 文件模式

(1) 'r':读取模式(默认文件模式,显式指定读取模式的效果和不指定模式相同);

(2) 'w':写入模式(如果写入时,文件不存在,会创建文件);

注1:其他模式暂且不罗列;

1.2 打开文件进行读写操作

(1) 写入文件f.write()

1 #!/usr/bin/python3
2 
3 f=open('somefile.txt','w')
4 f.write('Hello, World!\n')
5 f.close()

(2) 读取文件f.read()

1 f=open('somefile.txt','r')
2 f.read()
3 f.close()

注1:也可以从标准输入(即sys.stdin)读取信息,如cat file.txt | python3 file_r_stdin.py;

 1 #!/usr/bin/python3
 2 
 3 import sys
 4 text=sys.stdin.read()
 5 print("text: %s"%text)
 6 #split:拆分字符串,split括号内如果没有指定分隔符,则默认为一个或多个空格;
 7 words=text.split()
 8 print("words: %s"%words)
 9 
10 wordcount=len(words)
11 print("wordcount: %d"%wordcount)

注2:f.read()可以通过传递参数指定读取多少个字符,如果不传递,则读取全部内容;

1 f=open('C:\text\somefile.txt','r'); 
2 #读取三个字符;
3 f.read(3)
4 #再读取两个字符;
5 f.read(2)

(3) 采用f.seek()和f.tell()读写指定位置

1 #whence和offset相对于文件开头和文件末尾相关,默认offset相对于文件开头;
2 f.seek(offset[,whence])将当前位置移到offset,然后进行读写;
3 #tell()返回当前位于文件的什么位置;
4 f.tell()

(4) 读取行f.readline()与f.readlines()

1 #readline()返回的是文件整行内容,以字符串的格式;
2 f.readline()
3 #readlines()返回的是文件所有行,以列表的格式;
4 f.readlines()

(5) 写入行f.writelines() (没有f.writeline())

1 #writelines接受一个字符串列表,并将其写入文件内;
2 f.writelines()

 

posted on 2022-07-06 14:39  知北游。。  阅读(85)  评论(0编辑  收藏  举报

导航