1. 编程学习网 > 编程教程 > Python教程 > python文件的操作(二)

python文件的操作(二)

文件的操作(二)

1.文件指针的定位与移动

创建了文件对象f后,除了读和写,还有很多其他方法。比如f.tell()可以返回文件当前指针的位置,而f.seek()可以设置当前文件中指针的位置,只需要将位置作为参数传入即可。
truncate() 函数可以截断文件内容,只需要将需要截取的字符数量作为参数传入,剩下的内容将被删除。

输出结果:
当前指针位于: 12
当前指针位于: 0
 
这里给一个文件写玩内容时,指针自然移动到文件末尾,由于是12个字符,所以指针位于12,然后seek()函数将指针位置重置为起点0,我们通过tell()方法可以看到当前指针位置的变化。然后使用truncate()函数对文件内容截断6个字符,因为文件的打开方式是只写,不能读,所以不能使用f.read(),在文件关闭之后,手动打开文件,可以发现截断成功。

2.文件的复制、删除和重命名

这里借助Python的os模块对文件进行处理。
os模块是python的标准库模块,全称是操作系统模块,可以直接导入使用。
使用os模块对文件进行操作最简单的方式是重命名,方法是os.rename(),其中需要两个参数,第一个是当前的文件名,第二个是新文件名。
如果当前文件夹存在一个a.txt文本文件,想将它改为b.txt,可以直接把文件名作为参数传入,但是如果想要修改的文件不在当前工作目录,就要使用相对路径或绝对路径的方式。
os.remove()函数可以删除一个文件,只需要传入文件路径,相对路径和绝对路径选一即可。


这里使用追加的方式先打开一个文件a.txt,防止这个文件不存在的情况下不能进行后续操作。然后对它进行重命名,最后将其删除。请大家一步一步做实验,否则直接运行看不出效果。
 
这里第3行如果不对文件进行关闭,那么在后边的操作里,会报错:另一个程序正在使用此文件,进程无法访问,体现了close()方法的作用。
 
而复制文件的操作,需要用的shutil模块里面的copyfile()方法。
其中第一个参数为需要复制的文件名,第二个参数为复制后的文件名。

对于初学的朋友的可能会感觉,学习这些操作没用,因为自己平时手动就可以很方便的完成这些操作,但是要知道,我们之所以可以在操作系统上执行这些操作,首先是继续这些代码的,其次对于超大数据的处理,我们手动修改是很耗时耗力的,而程序可以很好的帮助我们做这些简单而繁重的工作。


3.文件夹的操作
 

使用追加的方式打开一个文件,可以帮助我们创建这个文件,但是创建文件夹还需要os模块的mkdir()方法,只需要将文件夹的名称作为参数传入。
如果想要更改工作路径,可以使用chdir()方法,改变当前的目录。
os.getcwd()方法可以返回当前所在的工作路径。
我们可以借助这些,创建一个文件夹,然后进入文件夹再创建一个文件。


输出结果:
当前工作路径: C:\Users\Administrator\Desktop\python\code
当前工作路径: C:\Users\Administrator\Desktop\text
 
这里使用了绝对路径来做演示,首先在桌面创建了一个名为text的文件夹,然后输出当前工作路径与后面做区分,路径如第一行输出所示,之后更改路径到新建文件夹中,再次输出工作路径证明切换工作目录成功,如输出第二行所示,然后使用追加的方式打开一个文件a.txt,没有自动创建,如此在桌面就会多了一个包含a.txt文件的text文件夹。
 
对于不想要的空文件夹,可以使用os.rmdir()方法删除。如果文件夹有文件,则需要使用shutil模块下的rmtree()方法删除。



本文由IT教学网整理发布,转载请注明出处:http://www.itjx.com/jiaocheng/Python/2020/0118/539.html

联系我们

在线咨询:点击这里给我发消息

咨询电话:400-998-2681

工作时间:7*24小时无休