如何通过用户输入序号匹配列表索引打开对应txt文件
实现方法
你现在已经拿到了转换为0起始的索引值userInput,直接通过Python列表的索引取值规则,就能拿到对应文件名,拼接完整路径后即可打开文件,具体步骤如下:
- 第一步:先做输入合法性校验,避免索引越界报错
- 第二步:用索引从
fileList中取出对应的文件名 - 第三步:拼接得到文件的完整绝对路径,正常读取内容即可
补充代码示例
你可以在现有代码后面追加以下内容:
# 先校验输入是否在合法范围内 if userInput < 0 or userInput >= len(fileList): print("输入的序号无效,请输入可选范围内的数字") else: # 直接用索引匹配对应文件名 target_filename = fileList[userInput] # 拼接得到完整文件路径 target_file_path = os.path.join(readDirectory, target_filename) # 打开读取文件内容即可 with open(target_file_path, 'r', encoding='utf-8') as f: content = f.read() print(f"\n{target_filename} 的内容如下:") print(content)
逻辑说明
你打印可选文件的时候,是按fileList的顺序逐个打印的,序号1对应fileList[0]、序号2对应fileList[1],和你转换后的userInput是完全一一对应的,直接按索引取值就能精准匹配到你展示给用户的对应文件,不存在匹配错位的问题。
内容的提问来源于stack exchange,提问作者TheWanderingJedi
相关产品推荐
相关产品推荐

