python中文件操作

Python文件的打开和关闭

在python,使用open函数,可以打开一个已经存在的文件,或者创建一个新文件
open(文件名,访问模式)

f = open('test.txt', 'w')

访问模式
关闭文件

#若没有test.py,新建一个文件
f=open("test.py",'w')
#关闭文件
f.close()

复制文件流程

#%%复制文件流程
#分析:1.获取用户要复制的文件名;2.打开这个文件;3.新建一个文件;4.旧的读取;5.新的写入;6.关闭两文件
#1.获取用户要复制的文件名
old_file_name=input("请输入要复制的文件名:")
#2.打开这个文件;
old_file=open(old_file_name,"r")

#test.py--->test[复件].py
#new_file_name="复件"+old_file_name
position=old_file_name.rfind(".")
new_file_name=old_file_name[0:position]+"[复件]"+old_file_name[position:]
#3.新建一个文件;
new_file=open(new_file_name,"w")
#new_file=open("laowang.txt","w")
#4.旧的读取;只用read有风险,若文件太大会读不出来,为了避免
while True:
    content=old_file.read(1024)
    if len(content)==0:
        break
    #5.新的写入;
    new_file.write(content)
#6.关闭两文件
new_file.close()
old_file.close()

文件的读取和定位

1.读取文件的一行

f=open("test.py")
f.readline() #读取每一行

2.按行读取文件的全部内容

f.readlines() #读取所有内容,组成list

3.获取当前读写的位置
在读写文件的过程中,如果想知道当前的位置,可以使用tell()来获取

#打开一个已经存在的文件
f = open("test.txt", "r")
str = f.read(3)
print ("读取的数据是 : ", str)
#查找当前位置
position = f.tell()
print ("当前文件位置 : ", position)
f.close()

4.定位到某个位置
如果在读写文件的过程中,需要从另外一个位置进行操作的话,可以使用seek()
seek(offset, from)有2个参数
offset:偏移量
from:方向
0:表示文件开头
1:表示当前位置
2:表示文件末尾
demo:把位置设置为:从文件开头,偏移5个字节

f.seek(5,0)

demo:把位置设置为:离文件末尾,3字节处

f.seek(-3,2)

文件的重命名和删除

1.文件的重命名
rename(需要修改的文件名,新的文件名)

import os 
os.rename("毕业论文.txt","毕业论文-最终版.txt")

2.文件的删除
remove(待删除的文件名)

import os 
os.remove("毕业论文.txt")

文件夹的相关操作

1.创建文件夹

import os 
os.mkdir("朋友")

2.获取当前目录

import os 
os.getcwd()

3.改变默认目录

import os 
os.chdir("../")

4.获取目录列表

import os 
os.listdir("/")

5.删除文件夹

import os 
os.rmdir("朋友")

批量对文件进行重命名

demo

#%%批量文件重命名,重命名某个文件夹下的所有文件
#1.获取要重命名的文件夹名字
import os 
folder_name=input("请输入想要重命名的文件夹:")

#2.获取文件夹下的文件名字
file_names=os.listdir(folder_name)
#os.chdir(folder_name)#改变默认的路径进入文件夹
#3.重命名
for name in file_names:
    print(name)
    old_file_name=folder_name+"/"+name
    new_file_name=folder_name+"/"+"[京东出品]"+name
    os.rename(old_file_name,new_file_name)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值