用Python重命名和移动文件
我有一个python脚本,它将文件夹中的现有文件名与参考表进行比较,然后确定是否需要重命名它。用Python重命名和移动文件
由于它遍历每个文件名:
'oldname' = the current file name
'newname' = what it needs to be renamed to
我想重命名文件并将其移动到一个新的文件夹“.. \ renamedfiles”
我可以做重命名,并在移动它通过循环迭代的同时?
更新: 道歉,我相当绿色与scrpting一般,但这似乎是非常基本的。 shutil.move正是我所需要的感谢 - 我只是不知道寻找它。下面的成功测试。现在将其加入到脚本中。
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
(和os.replace
)如果源位置和目标位置位于不同的分区/驱动器/设备上将不起作用。如果是这种情况,则需要use shutil.move
,如果可能的话,将使用原子重命名,如果目标不在同一个文件系统上,则后备将复制 - 然后删除。在同一个操作中移动和重命名都非常开心;不管怎样,操作都是一样的。
在你想要的目录中创建一个Python文件,写这样的事情:
import os
for filename in os.listdir("."):
if(filename ...):
newFilename = ...
os.rename(filename, newFilename)
两者都做的操作,您可以使用os.rename(src, dest)
功能。
你应该有想要的目录来保存文件,以及新的文件名。您可以为您在循环中运行的每个文件执行此操作。
例如:
dest_dir = "/tmp/2"
new_name = "bar.txt"
current_file_name = "/tmp/1/foo.txt"
os.rename(current_file_name, dest_dir+"/"+new_name)
的rename
功能允许您更改文件的名称和它在同一时间的文件夹。
为防止在重命名和移动文件时出现任何错误,请使用shutil.move。
我因为推荐了一个现有的_deletes_文件原语而降低了投票率。否则我就不会在意了。 downvote删除。你诚实的错误可能会诚实地造成伤害 –
@ Jean-FrançoisFabre我知道,并不意味着。感谢那! –
我认为你的子目标让你把'os.rename'和'shutil.move'混合在一起,并给出了'os.remove' :) –
是的,你可以做到这一点。在Python中你可以使用移动函数在 shutil库实现这个。
比方说在Linux上,你必须在/ home /用户/下载名为的test.txt文件夹一个文件,你想将它移动到/ home /用户/文件,改变它的名字useful_name.txt。你可以这样做:
import shutil
shutil.move('/home/user/Downloads/test.py', '/home/user/Documents/useful_name.txt')
在你的情况,你可以这样做:
import shutil
shutil.move('oldname', 'renamedfiles/newname')
干杯。
向我们展示您的循环代码 - 您尝试解决它。 –
重命名和移动文件是一回事。 – jwodder
使用['os。重命名'](https://docs.python.org/2/library/os.html#os.rename)和['shutil.move'](https://docs.python.org/2/library/shutil .html#shutil.move) – inspectorG4dget