python文件改名_使用Python重命名和移动文件

这篇博客介绍了一个Python脚本,该脚本比较文件夹中现有的文件名与参考表,根据需要决定是否重命名。在循环遍历每个文件名时,它同时进行重命名和移动操作,将文件移至'.. enamedfiles'新文件夹。博主提到shutil.move函数正是他们需要的解决方案,可以实现原子重命名或在目标位置不在同一文件系统时进行复制删除操作。
摘要由CSDN通过智能技术生成

1586010002-jmsa.png

I have python script that compares existing file names in a folder to a reference table and then determines if it needs to be renamed or not.

As it loops through each filename:

'oldname' = the current file name

'newname' = what it needs to be renamed to

I want rename the file and move it to a new folder "..\renamedfiles"

Can I do the rename and the move at the same time as it iterates through the loop?

Update:

Apologies, I'm fairly green with scrpting in general but this appears to be pretty basic. shutil.move is exactly what I needed THANKS- I just didn't know to look for it. Successful test below. Now to work it into the script.

import shutil

os.chdir('C:\Users\me\Desktop\New folder')

renFolder= 'Renamed'

oldname = 'Test.txt'

newname= 'renTest.txt'

shutil.move(oldname, renFolder+'/'+newname)

解决方案

os.rename (and os.replace) won't work if the source and target locations are on different partitions/drives/devices. If that's the case, you need to use shutil.move, which will use atomic renaming if possible, and fallback to copy-then-delete if the destination is not on the same file system. It's perfectly happy to both move and rename in the same operation; the operation is the same regardless.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值