Python 3.x 如何使用python更改文件扩展名
在一个文件夹中,我有100个扩展名为“.txt”、“.doc”、“.pdf”的文件。我需要将文件重命名为:Python 3.x 如何使用python更改文件扩展名,python-3.x,Python 3.x,在一个文件夹中,我有100个扩展名为“.txt”、“.doc”、“.pdf”的文件。我需要将文件重命名为: 如果文件名以“.txt”结尾->将文件名以“.jpg”结尾 如果文件名以“.doc”结尾->将文件名替换为“.mp3” 如果文件名以“.pdf”结尾->将文件名替换为“.mp4” 到目前为止,我已经试过这个了 import os,sys folder ="C:/Users/TestFolder" for filename in os.listdir(folder): base_f
import os,sys
folder ="C:/Users/TestFolder"
for filename in os.listdir(folder):
base_file, ext = os.path.splitext(filename)
print(ext)
if ext == '.txt':
print("------")
print(filename)
print(base_file)
print(ext)
os.rename(filename, base_file + '.jpg')
elif ext == '.doc':
print("------")
os.rename(filename, base_file + '.mp3')
elif ext == '.pdf':
print("------")
os.rename(filename, base_file + '.mp4')
else:
print("Not found")
首先,您可以将映射存储在字典中,然后在遍历文件夹并找到扩展名时,只需使用映射生成新文件名并保存即可
import os
folder ="C:/Users/TestFolder"
#Dictionary for extension mappings
rename_dict = {'txt': 'jpg', 'doc': 'mp3', 'pdf': 'mp4'}
for filename in os.listdir(folder):
#Get the extension and remove . from it
base_file, ext = os.path.splitext(filename)
ext = ext.replace('.','')
#If you find the extension to rename
if ext in rename_dict:
#Create the new file name
new_ext = rename_dict[ext]
new_file = base_file + '.' + new_ext
#Create the full old and new path
old_path = os.path.join(folder, filename)
new_path = os.path.join(folder, new_file)
#Rename the file
os.rename(old_path, new_path)
所以那么会发生什么呢?您可以使用字典来保存映射,而不是if/elif/else链!请在下面@chinna检查我的答案