在 Python 中从用户输入中获取文件路径
Taking a file path from user input in Python
从用户输入中获取文件路径:
- 使用该
input()
函数将文件路径作为用户输入。 - 使用
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()
方法返回,否则返回。True
False
该路径可能类似于: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
异常的地方运行。