python - 如何编写 python 代码以通过 bash 脚本获取用户的输入
问题描述
我想计算不同城市和每个城市5次的一些措施。我需要通过 bash 脚本提供数据。
#!/bin/bash
cities=('paris''helsinki' 'rome')
for city in "${cities[@]}" do
for (( i = 1; i <= 5; i++ ))
do
srun python3 random_graph.py "$city" > "$city"/"city"_"$i".json
done
完毕
我这样写了我的python代码:
def get_network_measure(city):
some code
if __name__ == '__main__':
city = input()
result = get_network_measure(city)
但我需要同时给出城市名称,而不是在第二步中通过 input() 函数给出。当我在 bash 中运行时,我需要这样的东西
python mycode.py paris
解决方案
您需要读取传递给解释器的参数。这些在sys.argv
.
您还需要写入标准输出,sys.stdout
. 您可以默认使用print
:
import sys
def main(argv):
city = argv[1]
print(get_network_measure(city))
def get_network_measure(city):
return 110
if __name__ == '__main__':
main(sys.argv)
您还可以使用管道输入sys.stdin
。
推荐阅读
- python - 使用日期时间索引在 pandas DataFrame 中选择日期之前的第一条记录的简洁方法
- c++ - 在以函数为参数的模板化函数中提取输入参数的类型
- sqlite - SQLite error. My query throws an error saying a column does not exist
- python - 算法交易:使用循环创建数据框,将行(期权合约名称)导出到 csv 并计算数据集的高点和低点
- php - Err_too_many_redirects 由于 HTACCESS 文件
- python - 参数化类属性
- html - 如何在 DIV 用完屏幕空间时向下推
- amazon-web-services - AWS::ApiGatewayV2::Integration 如何在 CloudFormation 中使用 MessageAttributes
- python - 检查语音通道是否为空?不和谐.py
- html - 为什么在减小窗口宽度后页脚不粘在底部?