为什么我的bash执行的python脚本仅将文件名输出到txt文件?

门槛19

我有两个文件。一个执行python文件的bash。现在,我只是试图通过简单地打印命令行参数来了解命令行参数如何用于python。

我希望命令行参数成为bash循环中的“ i”。

do
    /usr/bin/time python3 file_name.py $i > ./run/file_output$i.txt
done

python文件

import sys

def run():
     print(sys.argv[0])

if __name__ == "__main__":
     run()

输出的txt文件已创建并正确编号,但每个文件只有filen_ame.py而不是i的值。

谢谢。

紫罗兰色

这是因为sys.argv[0]可执行文件名,而不是第一个参数,如下面的程序所示:

import sys
for arg in sys.argv:
    print(arg)

运行它时,您将看到:

pax> python3 prog.py a b c
prog.py
a
b
c

换句话说,如果您想要第一个参数,请使用sys.argv[1]

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章