Skip to main content
 首页 » 编程设计

python之在 python 中从 sys.argv 传递目录名

2025年05月04日14yxwkf

关于从 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,覆盖“.”