繁体   English   中英

如何在 python 脚本中的 bash 脚本中使用 python 变量

[英]how to use python variables in bash script inside python script

我正在尝试在 python 脚本中的 bash 脚本中使用我的 python 变量,如下所示...

import os
import submodule
URL="http://wmqa.blob.core.windows.net..."
os.system(subprocess.call("curl -I --silent GET ",str(URL), "| awk '/x-ms-copy-status/ {print}'"))

# I also tried with 

os.system(subprocess.call("curl -I --silent GET "+URL+ "| awk '/x-ms-copy-status/ {print}'"))

我怎样才能在 curl 中的GET之后传递 URL 我还需要在 curl 之后执行一些额外的命令来获取状态

对于初学者来说,最好不要使用os.system 它在很久以前就被替换了(实际上是 19 年前;在PEP 324中)。 要回答您的问题,您可以使用 f 字符串或 python 中字符串中允许的任何其他格式来引用变量。这是一个示例。

import subprocess

my_var = "hello from my shell"
subprocess.Popen(f"echo {my_var}", shell=True).wait()

其中,运行时输出:

➜ ./main.py 
hello from my shell

这是一个可能更接近您的配置的示例:

import subprocess

url = "http://echo.jsontest.com/var"
my_var = "hello"
subprocess.Popen(f"curl -s {url}/{my_var} | jq .var", shell=True).wait()

output:

➜ ./main.py
"hello"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM