python的文件操作:文件定位读写,重命名,删除等操作

Python中文件读写,定位文件读写的指针会随着不断的读写移动。那额如何将读写指针进行移动到特定位置进行读写呢?

1.使用tell()函数来查看文件定位指针的位置

#1.创建文件,往文件里写入数据,注意W+是写读模式
fl = open("test.doc",'w+')
fl.write("this is a test,and this is good test")

#2.直接读取文件
content =fl.read(3)
print(content)  #显示为空,因为写入文件后,操作文件的定位指针在文件末尾,所以为空

#3.在读写文件的过程中,如果想知道当前的位置,可以使用tell()来获取
print("文件指针的位置:",fl.tell()) 
 
#结果时:36,即文件的末尾对应的位置

2.使用seek()函数来定位读写

seek() 方法用于移动文件读取指针到指定位置。seek(offset, whence)有2个参数:offset:偏移量,whence:方向。whence:是可选参数,默认值为 0。给offset参数一个定义,表示要从哪个位置开始偏移;0代表从文件开头开始算起,1代表从当前位置开始算起,2代表从文件末尾算起。

两个参数可以单独使用,两个参数一起使用定位更加精准

'''mytest.txt文件内容如下:
helllo,world
hahhaahh
jjjjjjj
'''
#测试seek()函数代码
fi =open("mytest.txt","rb")  #python3将打开模式从r变成rb即可
print("当前读写定位:",fi.tell())
fi.seek(-3,2)
print("当前读写定位:",fi.tell())
print(fi.read())
print("读取文件后的定位:",fi.tell())
fi.seek(5,0) #回头开头,偏移量是5
print(fi.readline())
fi.close()

---------------------------------------
当前读写定位: 0
当前读写定位: 28
b'jjj'
读取文件后的定位: 31
b'o,world\r\n'    #会将换行符等隐藏字符也会读取出来

3.文件重命名和删除文件

1.os模块中的rename()可以完成对文件的重命名操作,rename(oldfile_name,newfile_name)

import  os  #要先导入包,OS包里才有重命名和杀出文件的方法
file1 = open("文件夹1","w") #新建文件
file1.close() #要将文件操作流关闭,否则报错,不能同时操作
os.rename("文件夹1","文件夹2")  

2.os模块中的remove()可以完成对文件的删除操作:remove(待删除的文件名)

import  os
os.remove("文件夹2") #如无报错

4.关于文件夹的操作

Python中就像对文件操作需要os模块一样,如果要操作文件夹,同样需要导入os模块,调用其中的方法即可

import  os
#os.mkdir("hello")  #创建目录hello,如果存在报错
print(os.getcwd())  #获取当前目录os.getcwd()
print(os.listdir("./")) #获取目录下的文件列表
os.rmdir("file_demo")  #删除目录
-----------------------------------
D:\pythoyworkspace\file_demo
['file_copy.py', 'file_demo', 'file_demo.py', 'file_demo2.py', 'hello', 'mtst.txt', 'mytest.txt', 'mytest1.txt', 'seek_Demo.py', 'sfds.py', 'test.doc']

猜你喜欢

转载自blog.csdn.net/qq_26442553/article/details/81703723