从 Python 中的用户输入获取文件路径

在 Python 中从用户输入中获取文件路径

Taking a file path from user input in Python

从用户输入中获取文件路径:

  1. 使用该input()函数将文件路径作为用户输入。
  2. 使用os.path.exists()方法检查指定路径是否存在。
主程序
import os file_path = input('Enter a file path: ') # e.g. C:\Users\Bob\Desktop\example.txt # or /home/Bob/Desktop/example.txt print(file_path) if os.path.exists(file_path): print('The file exists') with open(file_path, 'r', encoding='utf-8-sig') as f: lines = f.readlines() print(lines) else: print('The specified file does NOT exist')

从用户输入中获取文件路径

我们使用该input()函数从用户输入中获取文件路径。

输入函数接受一个可选prompt参数并将其写入标准输出而没有尾随换行符

下一步是使用
os.path.exists
方法检查文件或目录是否存在。

如果提供的路径存在,则os.path.exists()方法返回,否则返回。TrueFalse

该路径可能类似于:C:\Users\Bob\Desktop\example.txt(Windows) 或/home/Bob/Desktop/example.txt(Linux 和 MacOS)。

您可以使用该with语句打开指定的文件(如果存在)。

主程序
import os file_path = input('Enter a file path: ') # e.g. C:\Users\Bob\Desktop\example.txt # or /home/Bob/Desktop/example.txt print(file_path) if os.path.exists(file_path): print('The file exists') with open(file_path, 'r', encoding='utf-8-sig') as f: lines = f.readlines() print(lines) else: print('The specified file does NOT exist')
with open()即使引发异常,语法也会自动关闭文件

如果提供的路径不存在,else语句就会运行,我们会向用户打印一条消息。

您可以通过适合您的用例的任何其他方式处理此问题,例如通过引发错误。

主程序
import os file_path = input('Enter a file path: ') # e.g. C:\Users\Bob\Desktop\example.txt # or /home/Bob/Desktop/example.txt print(file_path) if os.path.exists(file_path): print('The file exists') with open(file_path, 'r', encoding='utf-8-sig') as f: lines = f.readlines() print(lines) else: raise FileNotFoundError('No such file or directory')

用户输入文件路径引发错误

如果提供的路径不存在,该else块将在我们引发
FileNotFoundError异常的地方运行。