关于从 sys 传递参数的快速问题。在下面的代码中,我不明白 data_dir = "."这个data_dir在另外一个section中是用来表示一个文件目录的,但是我看不懂=“.”片。我原以为 sys.argv 只会传递一个参数,即可以在函数 main 中使用的文件名。任何帮助将不胜感激!
def main(name, data_dir ="."):
resp = Respondents()
resp.ReadRecords(data_dir)
print 'Number of respondents', len(resp.records)
preg = Pregnancies()
preg.ReadRecords(data_dir)
print 'Number of pregnancies', len(preg.records)
if __name__ == '__main__':
main(*sys.argv)
请您参考如下方法:
sys.argv 之前的 * 导致列表扩展为函数的所有参数。所以 sys.argv[0] 被传递给 name,如果它存在,sys.argv[1] 被传递给 data_dir,覆盖“.”
