在使用Python的过程中,需要对各种文件进行处理如excel、csv、txt等,这篇文章主要总结对txt文件的各种操作。
目录
1.打开文件--open()方法
语法:
file object = open(file_name [, access_mode][, buffering])
参数详解:
- file_name:file_name变量是一个包含了你要访问的文件名称的字符串值。
- access_mode:access_mode决定了打开文件的模式:只读,写入,追加等。所有可取值见如下的完全列表。这个参数是非强制的,默认文件访问模式为只读(r)。
- buffering:如果buffering的值被设为0,就不会有寄存。如果buffering的值取1,访问文件时会寄存行。如果将buffering的值设为大于1的整数,表明了这就是的寄存区的缓冲大小。如果取负值,寄存区的缓冲大小则为系统默认。
下面是小白总结出来常用到的打开文件模式及其含义:
下面就举一个实际的例子:
fo = open("D:/chen_lib工作文档/works/IM/dict_test.txt", "w")
print ("访问模式 : ", fo.mode)
结果:
其中mode属性,就是看我们上面所说的哪种方式打开,w就是写入模式。
访问模式 : w
这里就介绍一下,文件打开后的文件对象,所具有的常用属性:
fo = open("D:/chen_lib工作文档/works/IM/dict_test.txt", "w")
print ("访问模式 : ", fo.mode)#返回被打开文件的访问模式。
print ("文件名: ", fo.name)#返回文件的名称。
print ("是否已关闭 : ", fo.closed)#返回true如果文件已被关闭,否则返回false。
结果:
访问模式 : w
文件名: D:/chen_lib工作文档/works/IM/dict_test.csv
是否已关闭 : False
2.读文件--read()方法
read()方法从一个打开的文件中读取一个字符串。需要重点注意的是,Python字符串可以是二进制数据,而不是仅仅是文字。
fo = open("D:/chen_lib工作文档/works/IM/dict_test.txt", "r+")
str = fo.read(2)
print ("读取的字符串是 : ", str)
# 关闭打开的文件
fo.close()
结果:
读取的字符串是 : 好的
3.写文件--write()方法
write()方法可将任何字符串写入一个打开的文件。需要重点注意的是,Python字符串可以是二进制数据,而不是仅仅是文字。
write()方法不会在字符串的结尾添加换行符('\n'):
fo = open("D:/chen_lib工作文档/works/IM/dict_test.txt", "a+")
fo.write('添加')
fo.close()
可以看到,添加被加在了最后。
我们原来的是一个词为一行,新添加的也想单独成一行,那么就需要如下操作即可:
fo = open("D:/chen_lib工作文档/works/IM/dict_test.txt", "a+")
fo.write('\n添加1')
fo.close()
这样就实现了换行添加:
4.关闭文件--close()方法
在用open方式打开文件时,在读写完成,都要使用close方法关闭文件,这是约定俗成的行为,因为File 对象的 close()方法刷新缓冲区里任何还没写入的信息,并关闭该文件,这之后便不能再进行写入。
语法:fo问你自定义命名的文件名,前面小白用了fo命名,这里就用fo
fo.close()
5.文件定位
5.1文件内的当前位置--tell()方法
fo = open("D:/chen_lib工作文档/works/IM/dict_test.txt", "r+")
# 查找当前位置
position = fo.tell()
print ("当前文件位置 : ", position)
# 关闭打开的文件
fo.close()
结果:
我们是刚打开文件,所以第一个位置的标号为0
当前文件位置 : 0
5.2改变当前文件的位置--seek()方法
fo = open("D:/chen_lib工作文档/works/IM/dict_test.txt", "r+")
# 把指针再次重新定位到文件开头
position = fo.seek(0, 0)
str = fo.read(2)
print ("重新读取字符串 : ", str)
# 关闭打开的文件
fo.close()
结果:
我们这里重新定位之后,和刚打开文件时候,读到的第三个位置应该和前面直接打开,定位到第三个位置一样,从结果来看,也是如此。
重新读取字符串 : 好的
6.重命名文件--rename()方法
Python的os模块提供了帮你执行文件处理操作的方法,比如重命名和删除文件。要使用这个模块,你必须先导入它,然后才可以调用相关的各种功能。
import os
os.rename("D:/chen_lib工作文档/works/IM/dict_test.txt", "D:/chen_lib工作文档/works/IM/dict_test_rename.txt")
可以看到文档名称已经改了
7.删除文件--remove()方法
remove很简单,和改名称类似,这里就不再演示了
os.remove(file_name)
以上就是对文件的各种操作方法~