我已经编写了一个驱动程序代码,从用户获取文件路径,并在我的函数中使用该文件路径。驱动代码如下;
import sys
if __name__ == '__main__':
if len(sys.argv) != 2:
print("Usage: %s input_file" % sys.argv[0])
sys.exit()
file_path = sys.argv[1]
connection, color, numOf_Nodes,links = read_problem(file_path)
print(links)
graph_coloring(connection, color, 0, numOf_Nodes)
但是当我运行这段代码时,我得到以下错误:
Usage: C:ProgramDataAnaconda3libsite-packagesipykernel_launcher.py input_file
An exception has occurred, use %tb to see the full traceback.
SystemExit
它不应该要求用户提供文件路径吗?我是使用驱动程序代码的新手,因此我可能会跳过编写驱动程序代码工作的某些部分。
帮忙吗?
代码期望用户在命令行传递文件路径。你想要这样执行你的代码:
python ipykernel_launcher.py /path/to/input/file
在执行代码时,变量file_path
将获得/path/to/input/file
的值。
变量sys.argv
在第一个位置包含脚本名称,然后是在命令行上传递给脚本的每个参数。这就是为什么2
在这里是合适的期望…数组中的第一个值是脚本名称。第二个值是程序的文件路径参数。