python 文本处理操作
打开和关闭文件
open 函数
用Python内置的open()函数打开一个文件,创建一个file对象,相关的方法才可以调用它进行读写 '''
模式 描述 r 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。 rb 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。 r+ 打开一个文件用于读写。文件指针将会放在文件的开头。 rb+ 以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。 w 打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 wb 以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 w+ 打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 wb+ 以二进制格式打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 a 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。 ab 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。 a+ 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。 ab+ 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。 '''
open函数,创建一份files文件
# eg_v1 files = open("file.txt","w") # "w" files.write("hello,welcome to python !!") # 在file.txt文本内输入内容 files.close()
文件读取,read 方法
read()方法从一个打开的文件中读取一个字符串。需要重点注意的是,Python字符串可以是二进制数据
# eg_v2 files_v2 = open("file.txt","r") print (files_v2.read(20)) files_v2.close() # >>> hello,welcome to pyt # 读取20个字符 # read()) 表示读取全部内容 # readline( ) 表示逐行读取
追加文件内容
# eg_v3 files_v3 = open("file.txt","a") files_v3.write("\npython is very nice!!") files_v3.close()
file 文件的属性
# 属性 描述 # file.closed 返回true如果文件已被关闭,否则返回false。 # file.mode 返回被打开文件的访问模式。 # file.name 返回文件的名称。 # file.softspace 如果用print输出后,必须跟一个空格符,则返回false。否则返回true。 #eg_v4 print (files_v3.closed) # 检查文件是否已经关闭 # >>> True print (files_v3.mode) # 返回被打开文件的访问模式 # >>> a print (files_v3.name) # 返回文件的名称。 # >>> file.txt
write 方法
files_v4 = open("file.txt","a") files_v4.write("\nbut,Not easy to learn") files_v4.close()
write()方法可将任何字符串写入一个打开的文件。需要重点注意的是,Python字符串可以是二进制数据 #write()方法不会在字符串的结尾添加换行符('\n')
文件定位
tell() 方法告诉你文件内的当前位置
seek(offset [,from])方法改变当前文件的位置,Offset 变量表示要移动的字节数,From 变量指定开始移动字节的参考位置
files_v5 = open("file.txt","r") files_v5.read(10) print (files_v5.tell()) # 当前指针位置 # >>> 10 files_v5.seek(0,0) # 将指针重定位 print (files_v5.tell()) # 当前指针位置 # >>> 0 files_v5.close()
文件重命名
文件重命名需要使用python的os模块
rename() 方法,需要两个参数,当前的文件名和新文件名。
# import os os.rename("file.txt","file001.txt")
删除文件
# import os os.remove("file001.txt")
remove()方法.语法:os.remove(file_name)
file 文件对象常用的函数
# 序号 方法及描述 # 1 file.close() 关闭文件。关闭后文件不能再进行读写操作。 # 2 file.flush() 刷新文件内部缓冲,直接把内部缓冲区的数据立刻写入文件, 而不是被动的等待输出缓冲区写入。 # 3 file.fileno() 返回一个整型的文件描述符(file descriptor FD 整型), 可以用在如os模块的read方法等一些底层操作上。 # 4 file.isatty() 如果文件连接到一个终端设备返回 True,否则返回 False。 # 5 file.next() 返回文件下一行。 # 6 file.read([size]) 从文件读取指定的字节数,如果未给定或为负则读取所有。 # 7 file.readline([size]) 读取整行,包括 "\n" 字符。 # 8 file.readlines([sizehint]) 读取所有行并返回列表,若给定sizeint>0,返回总和大约为sizeint字节的行, 实际读取值可能比sizhint较大, 因为需要填充缓冲区。 # 9 file.seek(offset[, whence]) 设置文件当前位置 # 10 file.tell() 返回文件当前位置。 # 11 file.truncate([size]) 截取文件,截取的字节通过size指定,默认为当前文件位置。 # 12 file.write(str) 将字符串写入文件,没有返回值。 # 13 file.writelines(sequence) 向文件写入一个序列字符串列表,如果需要换行则要自己加入每行的换行符。