问题描述
我编写了一个驱动程序代码来从用户获取文件路径并在我的函数中使用该文件路径。驱动代码如下;
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,numOf_Nodes)
Usage: C:\ProgramData\Anaconda3\lib\site-packages\ipykernel_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
在这里是合适的期望......数组中的第一个值是脚本名称。第二个值是程序的文件路径参数。