【Python】txt文件操作详解

        在使用Python的过程中,需要对各种文件进行处理如excel、csv、txt等,这篇文章主要总结对txt文件的各种操作。 

目录

1.打开文件--open()方法

2.读文件--read()方法

3.写文件--write()方法

4.关闭文件--close()方法

5.文件定位

5.1文件内的当前位置--tell()方法

5.2改变当前文件的位置--seek()方法

6.重命名文件--rename()方法

7.删除文件--remove()方法


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)

以上就是对文件的各种操作方法~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值