我有一个名为students.csv
的文件,试图将其传递到python脚本s1.py
中。在命令行上,我输入python3 s1.py students.csv
,但是出现错误
File "s1.py", line 7, in <module>
with open(file, 'r') as studentGrades:
TypeError: invalid file: ['s1.py', 'students.csv']
这是s1.py中的代码:
#!/usr/bin/env Python3
import sys
file = sys.argv
with open(file, 'r') as studentGrades:
for line in studentGrades:
print(line)
如何正确传递此文件,以便可以在python脚本中使用它?
答案 0 :(得分:3)
改为使用Exception in thread "main" org.apache.flink.runtime.client.JobExecutionException: java.net.BindException: Cannot assign requested address: JVM_Bind
。
答案 1 :(得分:0)
正如@EricWang所说,您可以执行file = sys.argv[1]
来获取文件名(如果包含的话)。但是,有许多无法说明的极端情况:
要解决这些问题,我建议您使用argparse。这将使您能够命名参数,从而允许用户以任何顺序输入参数。它具有验证码,因此您可以确保他们输入的文件名是真实文件。它还具有“必需参数”的概念,因此,如果您的用户忘记输入它们,则可以指定方便的错误消息,以告知他们 dumb 被误导了。