[英]Python: What does the following code do?
有人可以一块一块地向我解释,以下是什么? 我的代码将无法运行,并且提供了此部分。 我已经在iPython笔记本中测试了所有代码,一切正常,所以我不知道问题是否是因为下面的这个块。
def main():
args = sys.argv[1:]
if not args:
print 'usage: [--summaryfile] file [file ...]'
sys.exit(1)
summary = False
if args[0] == '--summaryfile':
summary = True
del args[0]
# ... my code ....
更新 :我试图按照西蒙的建议去做。 我打开了iPython并在命令行中输入以下内容:
ipython 'assignment.py' --summaryfile
我尝试了这种变体,我不断收到语法错误。
它基本上检查运行脚本时是否已将--summaryfile作为参数传递
如果没有传递任何参数,那么它将打印一行告诉您如何使用该脚本然后退出。 摘要现在设置为false
如果已传递--summaryfile,则它将设置summary = True并继续运行其余代码
我不确定你是否可以在ipython中输入这样的参数,所以可能你的代码总是会退出,因为它没有找到任何参数
编辑:
出于某种原因,我自动将ipython与ipython笔记本相关联。 你可以用ipython传递参数。 请参见此处: 如何将命令行参数传递给ipython
在您的情况下,尝试在通过ipython运行脚本时添加--summaryfile作为参数
如果您是从ipython笔记本运行的,那么您可以尝试以下几种方法:
删除该部分代码,只需设置summary = True。 你的其余代码应该运行,但是没有看到所有内容很难说它可能会对你的其余代码产生什么影响
您可以将脚本保存为python .py文件,并使用ipython magic从笔记本中运行代码。 您可以在笔记本中运行该脚本时传递参数。 检查一下: https : //ipython.org/ipython-doc/dev/interactive/magics.html#magic-run
如果所有代码都在常规.py文件中(在笔记本之外),则可以使用命令行运行并传递参数。 导航到脚本文件所在的目录,然后运行ipython filename.py --summaryfile
一个非常基本的命令行参数解析器。
它检查除可执行文件名称本身之外的命令行( sys.argv[1:]
)。 如果它为空,则转储帮助消息并失败。 如果第一个参数是"--summaryfile"
,请设置一些标志。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.