Python:动态列表名称

0 投票
1 回答
1826 浏览
提问于 2025-04-17 15:51

我正在尝试制作一个文件,让用户输入他们想要分析的文本文件数量。作为第一步,我想先把用户输入的每个文档的内容(可以是任意数量,没有限制)逐行记录下来,放到一个列表里。我希望每个用户输入的文档都有一个单独的列表,但我在这方面遇到了困难。下面是我目前的进展。

def user_input():
    prompt = raw_input("Please input the full name (e.g. text_file.txt) or path of a text file:")
    global lst
    lst = {}
    lst[0] = prompt
    global file_count
    file_count = 1
    while len(prompt) > 0:
        prompt = raw_input("Please input any additional text files or simply press enter to continue:")
        if len(prompt) > 0:
            lst[file_count] = prompt
            file_count = file_count+1
    return lst

def read_in():
    for x in lst.values():
        file = open(x)
        x = file.readlines()

我现在卡在这部分,因为我不确定如何动态地给每个列表命名。如果有人能帮帮我,我会非常感激!!

1 个回答

1
def get_filenames():
    filelist = []
    prompts = [
        "Please input the full name (e.g. text_file.txt) or path of a text file:",
        "Please input any additional text files or simply press enter to continue:"
    ]
    while True:
        filename = raw_input(prompts[len(filelist) > 0]).strip()
        if not filename:
            break
        filelist.append(filename)
    return filelist

def get_filelines(filelist):
    files = {}
    for filename in filelist:
        with open(filename, 'rb') as fp:
            files[filename] = fp.readlines()
    return files

if __name__=='__main__':
    print get_filelines(get_filenames())

当然可以!请把你想要翻译的内容发给我,我会帮你用简单易懂的语言解释清楚。

撰写回答