Python:动态列表名称
我正在尝试制作一个文件,让用户输入他们想要分析的文本文件数量。作为第一步,我想先把用户输入的每个文档的内容(可以是任意数量,没有限制)逐行记录下来,放到一个列表里。我希望每个用户输入的文档都有一个单独的列表,但我在这方面遇到了困难。下面是我目前的进展。
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())
当然可以!请把你想要翻译的内容发给我,我会帮你用简单易懂的语言解释清楚。