文件名替换;通过定义字符串列表创建循环
Filename replacing; creating a loop by defining a string list
我有以下代码重命名一定数量的文件,这些文件具有关键字,例如:'Alamo'、'Portland'、...和一些其他自定义名称,我想要在它旁边放一个数字:
即“76-Alamo”/“77-波特兰”
有没有办法通过将关键字定义为字符串来重复相同的代码N次?类似于:
姓名 = ('Alamo', 'Portland', 'Name3',...,)
数字 = ('76', '77', '78',...,)
代码:
进口os
os.chdir('.')
对于 os.listdir() 中的文件:
诊所,分机 = os.path.splitext(文件)
for f in os.listdir():
if f.startswith('Alamo'):
old_name = f
new_name = '{}-{}'.format("76", f)
os.rename(old_name, new_name)
for f in os.listdir():
if f.startswith('Portland'):
old_name = f
new_name = '{}-{}'.format("77", f)
os.rename(old_name, new_name)
我很欣赏对此的任何见解。如果我可以提供任何进一步的详细信息,请告诉我。
你可以用字典记录你要加的名字和号码,然后在字典里查每个键。
rename_dict = {
'Alamo': 76,
'Portland': 77,
'Name3': 78,
...
}
for f in os.listdir():
for keyword in rename_dict.keys():
if f.startswith(keyword):
old_name = f
new_name = '{}-{}'.format(str(rename_dict[keyword]), f)
os.rename(old_name, new_name)
或者,如果您知道每个关键字的数字每次都会递增 1,则可以将每个关键字存储在一个列表中,并使用该关键字的索引加上一个偏移量。
我有以下代码重命名一定数量的文件,这些文件具有关键字,例如:'Alamo'、'Portland'、...和一些其他自定义名称,我想要在它旁边放一个数字: 即“76-Alamo”/“77-波特兰”
有没有办法通过将关键字定义为字符串来重复相同的代码N次?类似于:
姓名 = ('Alamo', 'Portland', 'Name3',...,)
数字 = ('76', '77', '78',...,)
代码:
进口os
os.chdir('.')
对于 os.listdir() 中的文件: 诊所,分机 = os.path.splitext(文件)
for f in os.listdir():
if f.startswith('Alamo'):
old_name = f
new_name = '{}-{}'.format("76", f)
os.rename(old_name, new_name)
for f in os.listdir():
if f.startswith('Portland'):
old_name = f
new_name = '{}-{}'.format("77", f)
os.rename(old_name, new_name)
我很欣赏对此的任何见解。如果我可以提供任何进一步的详细信息,请告诉我。
你可以用字典记录你要加的名字和号码,然后在字典里查每个键。
rename_dict = {
'Alamo': 76,
'Portland': 77,
'Name3': 78,
...
}
for f in os.listdir():
for keyword in rename_dict.keys():
if f.startswith(keyword):
old_name = f
new_name = '{}-{}'.format(str(rename_dict[keyword]), f)
os.rename(old_name, new_name)
或者,如果您知道每个关键字的数字每次都会递增 1,则可以将每个关键字存储在一个列表中,并使用该关键字的索引加上一个偏移量。