为什么args.input显示无类型错误

时间:2019-05-11 14:28:16

标签: python

在终端中运行时出现这样的错误

filename = open(input(), 'rb') 
input_file = filename
open(args.input_file, "rb").read()

这是输出

File "<stdin>", line 1, in <module> TypeError: expected str, bytes or os.PathLike object, not NoneType```





This is also there in script 

parser = argparse.ArgumentParser();
parser.add_argument("-i", dest="input_file", help="no file with this name") 
args = parser.parse_args();```

The path i put is /storage/emulated/0/filrname.txt

1 个答案:

答案 0 :(得分:1)

filename = open(input(), 'rb')

这将打开您在终端中输入的文件名,并返回一个file对象,filename对象不是文件名。

open(args.input_file, "rb").read() 
您提供的脚本中未定义

args。即使设置为args.input,也可能未设置。这可能会导致TypeError

我假设您正在尝试打开用户输入的文件,您可以这样做:

filename = input()
with open(filename, 'rb') as f:
    data = f.read()