Python 当用户传递命令行参数时,如何访问Docker命令中的变量值 导入系统 导入操作系统 导入子流程 app_name=sys.argv[1] s=子流程调用( “docker ps--过滤器名称=$app_name | awk'{print$2}'>docker_tag.txt”, shell=True )

Python 当用户传递命令行参数时,如何访问Docker命令中的变量值 导入系统 导入操作系统 导入子流程 app_name=sys.argv[1] s=子流程调用( “docker ps--过滤器名称=$app_name | awk'{print$2}'>docker_tag.txt”, shell=True ),python,python-3.x,docker,subprocess,Python,Python 3.x,Docker,Subprocess,如何访问subprocess.call()中变量的值我认为您需要f字符串 Ex: import sys import os import subprocess app_name=sys.argv[1] s=subprocess.call(['docker', 'ps', '--filter', f"name={app_name}", '|', 'awk', "'{print", "$2}'", '>', 'docker_tag.

如何访问
subprocess.call()中变量的值

我认为您需要
f
字符串

Ex:

import sys
import os
import subprocess

app_name=sys.argv[1]
s=subprocess.call(['docker', 'ps', '--filter', f"name={app_name}", '|', 'awk', "'{print", "$2}'", '>', 'docker_tag.txt'], shell=True)
# OR
#s=subprocess.call(f"docker ps --filter name={app_name}| awk '{print $2}' > docker_tag.txt", shell=True)

使用上述代码时出现语法错误[centos@exe93-aws mum:/exedge volume/exedge]#python test.py upf fpm文件“test.py”,第6行s=subprocess.call(['docker','ps','--filter',f“name={app_name}','awk',“{print',“$2}',”>,'docker_tag.txt',shell=True)^SyntaxError:Python 3.6及以上版本的语法无效[centos@exe93-aws mum:~]#python3——版本python3.6.8我仍然面临同样的错误