我遇到了麻煩subprocess.run()。
我嘗試在 W10 內的 WindowsSubsystemForlinux1 WSL1 應用程式中創建一個新目錄。
目錄名稱應為(例如):( a0_998.0784269595375逗號后始終為 13 位數字)。這組數字是 Python 函式的輸出。我擁有的:
def SMILEI(I):
os.chdir("/home/velenos14/PICsims/github/SMILEI_correctTunnelBSIrate/Smilei/SIMRESULTS/GPs_trial_Xenon_noOAM")
a0 = "%.13f" % a0_from_IntensityWcm2(I) # a0_from_IntensityWcm2() is a function
subprocess.run(['dirname="a0_"', 'mkdir' '-p' '$dirname'], check=True, text=True) # PermissionError: [Errno 13] Permission denied: 'dirname="a0_'
我做錯了什么?BASH 命令(作業和完成作業)如下:
for ((i = 1; i <= 15000; i ))
do
index=$((i))
a0=$(awk "NR==${index} { print \$2 }" Intensity_Wcm2_versus_a0_10_20_10_25_range.txt)
dirname="a0_${a0}"
mkdir -p $dirname
cd $dirname
done
uj5u.com熱心網友回復:
據我所知,您希望將dirname引數作為環境變數傳遞給您的mkdir子行程。
而是dirname事先構造您的變數并將其傳遞給subprocess.run這樣的:
def SMILEI(I):
os.chdir("/home/velenos14/PICsims/github/SMILEI_correctTunnelBSIrate/Smilei/SIMRESULTS/GPs_trial_Xenon_noOAM")
dirname = "a0_%.13f" % a0_from_IntensityWcm2(I)
subprocess.run(["mkdir", "-p", dirname], check=True, text=True)
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/341792.html
