免责声明,我对编码和 python 非常陌生,因此为初学者提供响应会很棒。我基本上是在尝试通过调用 CSV 文件中的特定值来重命名目录。我可以打印出我想要的新名称。一旦我添加了 os.rename(src, dst) 函数,我就会得到错误FileNotFoundError: [Errno 2] 没有这样的文件或目录...是的,我已经三次检查了文件路径是否有错别字和错误。我已在简化版本中成功使用此代码,而无需尝试从 csv 重命名。import os, csvos.chdir("/Users/.../test11")root = "/Users/.../test11"for file in os.listdir(): #delete ds_store files b/c they mess up index value if file.endswith(".DS_Store"): path = os.path.join(root, file) os.remove(path)src = "/Users/.../test11/temp_name" # rename (date/name/index)csvFilePath = "/Users/.../test11/temp_name/data.csv"with open(csvFilePath) as csvFile: csvReader = csv.DictReader(csvFile) for csvRow in csvReader: timestamp = csvRow["Timestamp"] name = csvRow["First name"] for index, folder in enumerate(os.listdir(root), start=1): new_folder_name = f"{timestamp}_{name}_{index}"os.rename(src, new_folder_name)任何帮助将非常感激。如果有办法让这段代码更高效,纠正不良做法,或者如果有更好的方法,我愿意接受建议!
2 回答
德玛西亚99
TA贡献1770条经验 获得超3个赞
如果我理解正确,您目前拥有:
src = "/Users/.../test11/temp_name"
和
new_folder_name = f"{timestamp}_{name}_{index}"
我会说您缺少路径“/Users/.../test11/”
也许这会解决你的问题?
new_folder_name = "/Users/.../test11/" + f"{timestamp}_{name}_{index}"
def create_path(x):
if not os.path.exists(x):
os.makedirs(new_folder_name)
os.rename(src, new_folder_name)
添加回答
举报
0/150
提交
取消