首页 > 解决方案 > 从目录中读取文件

问题描述

我正在尝试读取目录 ./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() 函数中。

我该如何解决?

标签: pythondirectory

解决方案


如果您正在运行命令python namefile.py input,请确保:

1)文件- 您的输入文件和 python 脚本都在同一个文件夹中。

2)位置- 终端中的工作目录是包含文件的目录(使用pwd检查)。

3)文件名- 您的文件名是准确的,input不是 .input.txtinput.utf8


如果您的文件位于示例中提供的路径中,则需要使用该路径调用脚本。

例子:

python namefile.py "./resources/input_file.utf8"


推荐阅读