首页 > 解决方案 > 通过将文件名添加到字符串来生成文件路径

问题描述

用户输入一个表示文件夹名称的字符串,然后将硬编码的文件名从列表中添加到该字符串上,以创建两个绝对文件路径。

第一个文件路径没问题,但是第二个文件名将文件名添加到已经添加的第一个文件名上。

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']

标签: pythonpython-3.x

解决方案


你正在覆盖你的变量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)

推荐阅读