我正在嘗試使用此命令:
import subprocess
a = 'foo'
result = subprocess.check_output(["cal | awk '{ gsub($1, $a); print $cal}'", "-l"],
shell=True)
cal我的意圖是用我自己的變數更改變數的第一列,a已經具有與 相同的型別$1,但我正在努力在某些地方用我自己的條目列印一個新日歷。
如果這是一個壞主意,我正在研究如何將某些日期更改為cal命令中的其他字符。
uj5u.com熱心網友回復:
不完全確定你想在哪里列印那個新日歷,但我發現你的 shell 命令沒有什么問題
- ' ' 內的變數不計算。您需要使用“”
- 我猜你希望
a從 python 腳本中獲取,而不是 shell 環境變數。要填充它,您可以使用 f 字串。 - 要替換文本中的字串,我寧愿使用
sed.
解決方案:
import subprocess
python_var = "foo"
result = subprocess.check_output(f'cal | sed "s/$shell_var/{python_var}/"', shell=True)
print(result)
$ export shell_var=mo
$ python script.py # it prints new result variable that contains new calendar.
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/410237.html
標籤:
