gpt4 book ai didi

python - 在python中调用外部命令并将值插入到命令中

转载 作者:行者123 更新时间:2023-12-01 05:39:34 24 4
gpt4 key购买 nike

我有一个正在调用外部命令的 python 程序。该命令需要如下所示:

java -jar ../GeoNetCWBQuery-4.0.2-bin.jar -s "NZMQZ..HH..." -d 3600 -event:time
"2004/12/26 00:58:50" -event:lat "3.3" -event:lon "95.78" -event:depth "10.0"
-o %c%s%y%/M%/D%z

在 python 程序中,我已为需要输入命令的值分配了名称,即日期、时间、纬度、经度、深度。 (当我循环遍历一个巨大的文件时,我不能只输入值。)所以我的问题是,如何写出来,即如何将值正确插入命令中。目前我有(不起作用):

os.system('java -jar GeoNetCWBQuery-4.0.2-bin.jar -s "NZMQZ..HH..." -d 3600
-event:time " + date + +time + " -event:lat " + lat + " -event:lon " + lon +
" -event:depth " + depth + " -o %c%s%y%M%D%z')

最佳答案

您在使用单引号/双引号时遇到了一些问题。

os.system('java -jar GeoNetCWBQuery-4.0.2-bin.jar -s "NZMQZ..HH..." -d 3600
-event:time ' + date + time + ' -event:lat ' + lat + ' -event:lon ' + lon +
' -event:depth ' + depth + ' -o %c%s%y%M%D%z')

此外,正如 Udo Klein 指出的那样,您不应该再使用 os.system,而更喜欢使用 subprocess.call。如果您要将 os.system 更改为 subprocess.call 您的代码将如下所示:

subprocess.call('java', ['-jar', 'GeoNetCWBQuery-4.0.2-bin.jar', '-s', 'NZMQZ..HH...', '-d', '3600',
'-event:time', date, time, '-event:lat', lat, '-event:lon', lon,
'-event:depth', depth, '-o', '%c%s%y%M%D%z'])

关于python - 在python中调用外部命令并将值插入到命令中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17945048/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com