如何在Python中通过用户输入选择并读取指定TXT文件的完整数据
问题分析与解决建议
原代码的问题点
- 硬编码文件名:循环遍历文件夹所有文件,但每次都固定打开
241Pu.txt,既没实现“用户输入文件名”的需求,也没利用遍历的file变量。 - 仅读取前两行:代码只取了
mylines[0]和mylines[1]拼接输出,自然只能看到表头(或表头+第一行数据),后续数值行完全没处理。 - 冗余操作:
with语句会自动管理文件关闭,不需要手动调用myfile.close()。
修正后的代码实现
import os # 目标文件夹路径 folder_path = r"D:\Thesis\data\new_data\HKSS" # 获取用户输入的文件名 target_filename = input("请输入要读取的文件名(需包含.txt后缀):") full_file_path = os.path.join(folder_path, target_filename) # 检查文件是否存在 if not os.path.isfile(full_file_path): print(f"错误:文件 {target_filename} 不存在于指定文件夹") else: # 读取文件所有内容 with open(full_file_path, "rt") as myfile: # 读取所有行并去除换行符,跳过空行 all_lines = [line.strip("\n") for line in myfile if line.strip()] # 输出完整数据 print("\n文件完整内容:") for line in all_lines: print(line)
补充说明
- 代码通过
input()获取用户指定的文件名,结合os.path.join()拼接完整路径,无需切换工作目录。 - 增加文件存在性检查,避免因输入错误导致报错。
- 读取所有非空行并逐行输出,确保能获取表头及所有E、N对应的数值数据。
内容的提问来源于stack exchange,提问作者Rhit.B
相关产品推荐
相关产品推荐

