读取命令行参数指定的目录中的文件

时间:2019-04-24 15:44:18

标签: python

我正在尝试从命令行参数指定的目录中读取文件。命令行:

./printfiles.py ./test_dir

到目前为止,我的代码是:

#!/usr/bin/env python3

import os
import sys

input_dir=argv[1]
for file in os.listdir(input_path):
    with open(file, "r") as f:
        for line in f.readlines():
            print(line)

我遇到了错误:

FileNotFoundError: [Errno 2] No such file or directory: 'hello.txt'

我认为问题是因为os.listdir()仅返回文件名,而不返回路径。我对如何执行此操作感到困惑,因为该路径仅由用户指定。

1 个答案:

答案 0 :(得分:1)

  

我认为问题是因为os.listdir()仅返回文件名,而不是路径。

我认为你是对的。

您可以使用os.path.joinopen提供文件的完整路径:

with open(os.path.join(input_dir, file), "r") as f: