我正在尝试编写我的第一个脚本。 我一直在阅读有关python的内容,但我是股票。
我正在尝试编写一个脚本,它将重命名特定文件夹中的所有文件名。 这就是我到目前为止所做的:
import os
files = os.listdir('files_to_Change')
print (files)
从文件夹中获取所有文件名:
for i in files:
if i == ".DS_Store":
p = files.index(".DS_Store")
del files[p]
如果mac不可见文件存在从列表中删除(这里可能是错误的)。
for i in files:
oldName = i
fileName, fileExtension = os.path.splitext(i)
print (oldName)
print (fileName)
os.rename(oldName,fileName)
这是我库存的地方,我收到了这个错误:
输出:
FileNotFoundError: [Errno 2] No such file or directory: 'File.1'
在上面的部分我只是删除文件扩展名,但这只是开头。 我也试图用空格替换每个点,并将每个单词的第一个字母作为大写。
有人能指出我正确的方向吗?
非常感谢
答案 0 :(得分:1)
在您的示例中,当您获得files_to_Change
目录中的文件列表时,您将获得没有目录名称的文件名:
>>> files = os.listdir('test_folder')
>>> print files[0]
.com.apple.timemachine.supported
因此,为了获得该文件的完整路径,无论您在目录树中,都应该使用文件名加入目录名称(files_to_Change
):
import os
join = os.path.join
src = 'files_to_Change'
files = os.listdir( src )
for i in files:
old = i
new, ext = os.path.splitext ( old )
os.rename( join( src, old ), join( src, fileName ))