我需要简单地在特定目录中的所有文件的末尾添加“_Manual”一词 这是我目前正在使用的脚本 - 我没有使用 python 的经验,所以这个脚本是我周围其他脚本的科学怪人!
它没有给出任何错误信息,但它也不起作用..
folder = "C:\Documents and Settings\DuffA\Bureaublad\test"
import os, glob
for root, dirs, filenames in os.walk(folder):
for filename in filenames:
filename_split = os.path.splitext(filename) # filename and extensionname (extension in [1])
filename_zero = filename_split[0]
os.rename(filename_zero, filename_zero + "_manual")
我正在使用
folder = "C:\Documents and Settings\DuffA\Bureaublad\test"
import os # glob is unnecessary
for root, dirs, filenames in os.walk(folder):
for filename in filenames:
fullpath = os.path.join(root, filename)
filename_split = os.path.splitext(fullpath) # filename and extensionname (extension in [1])
filename_zero, fileext = filename_split
print fullpath, filename_zero + "_manual" + fileext
os.rename(fullpath, filename_zero + "_manual" + fileext)
但是还是不行 它不打印任何内容,文件夹中也没有任何更改!
请您参考如下方法:
os.rename 需要源文件名和目标文件名。变量 filename 包含您当前的文件名(例如,“something.txt”),而您的拆分将其分为 something 和 txt。作为要重命名的源文件,您只需指定 something,它会自动失败。
相反,您想重命名 filename 中给定的文件,但是当您也进入子文件夹时,您需要确保使用绝对路径。为此,您可以使用 os.path.join(root, filename)。
所以最后你会得到这样的结果:
os.rename(os.path.join(root, filename),
os.path.join(root, filename_zero + "_manual" + filename_split[1]))
这会将 dir1/something.txt 重命名为 dir1/something_manual.txt。
