📅  最后修改于: 2023-12-03 15:09:49.971000             🧑  作者: Mango
在编写程序的过程中,输入文件是非常常见的。引导输入文件是指在程序运行时,通过提示用户输入文件名和路径,然后将这个文件作为程序的输入。这一技术在处理数据量比较大的时候非常有效,可以使程序更加灵活和通用。
引导输入文件可以通过命令行参数、GUI界面或者交互式命令行实现。在这里,我们来介绍一下通过交互式命令行实现的方法。
在Python中,可以使用input()
函数来引导用户输入命令行参数。首先,需要提示用户输入文件名和路径,可以使用以下代码:
filename = input("请输入文件名和路径:")
接下来,可以使用open()
函数打开这个文件,并读取其中的内容:
with open(filename, 'r') as f:
contents = f.read()
完整的代码如下:
filename = input("请输入文件名和路径:")
with open(filename, 'r') as f:
contents = f.read()
在实际应用中,用户输入的文件名和路径不一定是有效的。因此,需要进行一些错误处理,防止程序出错。一般可以分为两种情况进行处理。
当用户输入的文件不存在时,open()
函数会抛出FileNotFoundError
异常。可以使用try
和except
语句来捕获这个异常,然后提示用户重新输入文件名和路径。
while True:
try:
filename = input("请输入文件名和路径:")
with open(filename, 'r') as f:
contents = f.read()
break
except FileNotFoundError:
print("文件不存在,请重新输入。")
当用户输入的文件不能被正确读取时,open()
函数会抛出UnicodeDecodeError
异常。可以使用try
和except
语句来捕获这个异常,然后提示用户重新输入文件名和路径。需要注意的是,这个异常只适用于文本文件,如果是二进制文件需要使用其他方式处理。
while True:
try:
filename = input("请输入文件名和路径:")
with open(filename, 'r') as f:
contents = f.read()
break
except FileNotFoundError:
print("文件不存在,请重新输入。")
except UnicodeDecodeError:
print("文件读取错误,请确认文件为文本文件并重新输入。")
引导输入文件是处理数据量比较大的程序时非常有用的技术。借助Python中的input()
和open()
函数,可以比较方便地实现这一功能。需要注意的是,对用户输入进行错误处理,保证程序的健壮性和鲁棒性。