📜  引导输入文件 (1)

📅  最后修改于: 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()
错误处理

在实际应用中,用户输入的文件名和路径不一定是有效的。因此,需要进行一些错误处理,防止程序出错。一般可以分为两种情况进行处理。

  1. 文件不存在

当用户输入的文件不存在时,open()函数会抛出FileNotFoundError异常。可以使用tryexcept语句来捕获这个异常,然后提示用户重新输入文件名和路径。

while True:
    try:
        filename = input("请输入文件名和路径:")
        with open(filename, 'r') as f:
            contents = f.read()
        break
    except FileNotFoundError:
        print("文件不存在,请重新输入。")
  1. 文件读取错误

当用户输入的文件不能被正确读取时,open()函数会抛出UnicodeDecodeError异常。可以使用tryexcept语句来捕获这个异常,然后提示用户重新输入文件名和路径。需要注意的是,这个异常只适用于文本文件,如果是二进制文件需要使用其他方式处理。

while True:
    try:
        filename = input("请输入文件名和路径:")
        with open(filename, 'r') as f:
            contents = f.read()
        break
    except FileNotFoundError:
        print("文件不存在,请重新输入。")
    except UnicodeDecodeError:
        print("文件读取错误,请确认文件为文本文件并重新输入。")
总结

引导输入文件是处理数据量比较大的程序时非常有用的技术。借助Python中的input()open()函数,可以比较方便地实现这一功能。需要注意的是,对用户输入进行错误处理,保证程序的健壮性和鲁棒性。