python - 通过将文件名添加到字符串来生成文件路径
问题描述
用户输入一个表示文件夹名称的字符串,然后将硬编码的文件名从列表中添加到该字符串上,以创建两个绝对文件路径。
第一个文件路径没问题,但是第二个文件名将文件名添加到已经添加的第一个文件名上。
files = ["file1.txt", "file2.txt"]
path = str(input("Path: "))
new_paths = []
for file in files:
path += r"\{0}".format(file)
new_paths.append(path)
print(new_paths)
假设用户输入:
C:\\Users\User\Desktop\file_folder
添加到new_paths
列表中的文件路径是:
['C:\\\\Users\\Users\\Desktop\\file_folder\\file1.txt', 'C:\\\\Users\\Users\\Desktop\\file_folder\\file1.txt\\file2.txt']
与以下预期结果相反:
['C:\\\\Users\\Users\\Desktop\\file_folder\\file1.txt', 'C:\\\\Users\\Users\\Desktop\\file_folder\\file2.txt']
解决方案
你正在覆盖你的变量path
,试试
files = ["file1.txt", "file2.txt"]
path = str(input("Path: "))
new_paths = []
for file in files:
file_path = path + r"\{0}".format(file)
new_paths.append(file_path)
print(new_paths)
推荐阅读
- vb.net - 为什么 NotifyIcon 在图标更改时会自我复制
- r - geom_contour_filled 调色板
- java - 在创建非常大的列表块时内存不足
- batch-file - 从命令提示符读取批处理文件
- python - Pandas Plot:如何在同一个 pdf 文件中导出数据框和图形?
- c - 将代码从 C 转换为 Delphi(使用 DLL)
- azure - 部署任务后有没有办法将文件作为 VSTS 任务删除?
- mysql - QLSTATE[HY000] [2002] 连接被拒绝 (SQL: select * from inform)
- regex - 优化 Go 中正则表达式的内存消耗
- angular - angular 9 videogular2 无法解析为 NgModule