python - 为什么我的 bash 执行的 python 脚本只将文件名输出到 txt 文件?
问题描述
我有两个文件。执行 python 文件的 bash。现在,我只是想通过简单地打印命令行参数来了解命令行参数如何为 python 工作。
我希望命令行参数是 bash 循环中的“i”...
do
/usr/bin/time python3 file_name.py $i > ./run/file_output$i.txt
done
蟒蛇文件
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]
.
推荐阅读
- html - 在 React 中创建一个类似日期的 html 输入字段(用点自动分隔数字)
- javascript - 指定请求桌面站点位置
- python - 如何将“aH bM”时间格式字符串转换为浮点数?
- google-colaboratory - Google colab 消耗过多的互联网数据
- scala - 如何将两个数据帧转换为行的元组列表
- mysql - MySQL 8 崩溃子选择查询
- debian - 在 debian 版本上解压缩无字符编码
- image - Xamarin Forms:Flowlistview 项目点击问题
- bitbucket-pipelines - 如何在拉取请求时跳过默认管道?
- javascript - 如何使用 jquery 接受双引号值