我有一个小脚本,它从目录脚本的文件名开头开始更改字符。我想让用户输入目录以更改文件。我不确定如何实现。
#!/usr/bin/env python3
import os
place = input("Enter the directory the files are in ")
drop = input("Enter text to remove from filename ")
add = input("Enter text to add to filename ")
for filename in os.listdir("."):
if filename.startswith(drop):
os.rename(filename, add+filename[len(drop):])
答案 0 :(得分:1)
os.listdir(path ='。')返回包含条目名称的列表 在路径指定的目录中。
因此,只需将"."
更改为包含目录路径的字符串。
例如,在命令行中,您可以执行以下操作:
mypath = input("Type path dir: ")
for filename in os.listdir(mypath):
...
mypath
可以是绝对路径,也可以是相对路径。
编辑
我忘了说:here os.rename()
也需要文件的完整路径(如果它们位于其他目录中)。
如果mypath
是完整路径,则类似的事情应该起作用:
os.rename(os.path.join(mypath, filename), os.path.join(mypath, add, filename[len(drop):]))
如果没有,则应构建完整路径。