python - 从目录中读取文件
问题描述
我正在尝试读取目录 ./resources/input_file.utf8 中的文件。但是,当我使用命令从终端编译以下代码时:
python namefile.py input
出现此错误:
[Errno 2] No such file or directory: 'input'
这是我的代码:
from argparse import ArgumentParser
def parse_args():
parser = ArgumentParser()
parser.add_argument("input_path", help="./resources/input_file.utf8")
return parser.parse_args()
def foo(input_path):
file_input = open(input_path, "r", encoding='utf-8-sig')
for line in file_input:
[...]
if __name__ == '__main__':
args = parse_args()
predict(args.input_path)
我必须遵守的规范之一是不要将硬路径直接放在 foo 函数中,而只能放在 parser.add_argument() 函数中。
我该如何解决?
解决方案
如果您正在运行命令python namefile.py input
,请确保:
1)文件- 您的输入文件和 python 脚本都在同一个文件夹中。
2)位置- 终端中的工作目录是包含文件的目录(使用pwd检查)。
3)文件名- 您的文件名是准确的,input
而不是 .input.txt
input.utf8
如果您的文件位于示例中提供的路径中,则需要使用该路径调用脚本。
例子:
python namefile.py "./resources/input_file.utf8"
推荐阅读
- java - 根据给定条件返回列表元素对
- javascript - ×TypeError:无法读取未定义的属性“边框”
- python - PythonChess - 获取引擎来预测一个位置的最佳移动列表
- linux - 如何在不使用 sudo 且不在根目录下运行 man ?
- integration - 迄今为止,人工制品将人工制品标记为“集成”不起作用
- ruby - 这是很好的解决方案吗?
- php - PHP 出现错误:在设置标头('charset=utf-8')中找不到文件;
- python - 井字游戏的 If 语句问题
- airflow - 如何在 Airflow 中使用 SimpleHttpOperator
- android - 可观察的 RxJava 测试“重复”在测试中创建无限循环