在Python中,执行脚本并传递参数可以通过以下几种方式:
使用`sys.argv`:
`sys.argv`是Python的`sys`模块中的一个列表,用于接收命令行参数。
import sys
gpus = sys.argv gpus = [int(gpus.split(','))]
batch_size = sys.argv
print(gpus)
print(batch_size)
在命令行中执行:
python script.py 0,1,2 10
使用`argparse`库:
`argparse`是Python标准库中的一个模块,用于编写用户友好的命令行接口。
import argparse
parser = argparse.ArgumentParser(description='一个简单的加法')
parser.add_argument('a', type=int, help='第1个加数')
parser.add_argument('b', type=int, help='第2个加数')
def test(a, b):
print(f'{a} + {b} = {a + b}')
if __name__ == '__main__':
args = parser.parse_args()
test(args.a, args.b)
在命令行中执行:
python script.py 0 10
使用`subprocess`模块:
`subprocess`模块允许你启动新的进程,连接到它们的输入/输出/错误管道,并获取它们的返回码。
import subprocess
sh = r'F:\program files\SHplayer\5.0.2.34\SHPlayer.exe'
avi = r'F:\test.avi'
runavi = subprocess.Popen(sh + ' ' + avi)
在命令行中执行:
python script.py F:\program files\SHplayer\5.0.2.34\SHPlayer.exe F:\test.avi
使用`input`库:
`input`库用于从标准输入读取数据。
def test(a, b):
print(f'{a} + {b} = {a + b}')
if __name__ == '__main__':
a = int(input('input a: '))
b = int(input('input b: '))
test(a, b)
在命令行中执行:
python script.py 0 10
使用`tf.app.run`:
`tf.app.run`是TensorFlow库中的一个函数,用于运行Python程序,并自动解析命令行参数。
import tensorflow as tf
def main(argv):
a = int(argv)
b = int(argv)
print(f'{a} + {b} = {a + b}')
if __name__ == '__main__':
tf.app.run(main)
在命令行中执行:
python script.py 0 10
选择哪种方式取决于你的具体需求以及你希望命令行接口的友好程度。`argparse`通常被认为是最优选择,因为它提供了强大的参数解析功能,并且易于使用。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://sigusoft.com/bj/144320.html