首页 > 解决方案 > 如何编写 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

标签: pythonbashuser-input

解决方案


您需要读取传递给解释器的参数。这些在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


推荐阅读