我有一段代码,运行其他四段代码。然而,当这些代码运行时,他们将写出的写入写入我运行此代码的目录。我想知道是否有一种方法来运行代码,以便每次都改变目录,这是我的代码:
loop=np.arange(187761,187854)
for ext in loop:
ext=str(ext)
s0=''
dcom=["rm *.txt"]
dcom=s0.join(dcom)
nes=os.system(dcom)
a=sys.argv[1]
com=['cd /cygdrive/e/desar2.cosmology.illinois.edu+7443/DESFiles/desardata/OPS/red/', a,'/red/DECam_00',ext, '/']
com=s0.join(com)
print com
sres=os.system(com)
com=['python /home/pythoncodes/other4.py ', '00'+ext]
com=s0.join(com)
print com
sres=os.system(com)
com=['python /home/pythoncodes/correctedmo.py ', '00'+ext]
com=s0.join(com)
print com
sres=os.system(com)
com=['python /home/pythoncodes/graphs.py ', '00'+ext]
com=s0.join(com)
print com
sres=os.system(com)
com=['python /home/pythoncodes/whiskerother4.py ', '00'+ext]
com=s0.join(com)
print com
sres=os.system(com)
我希望顶部会改变每个分机的目录,但事实并非如此。有没有办法做到这一点,还是我应该改变程序写入不同的目录?
答案 0 :(得分:2)
您可以使用os.chdir(path)
更改当前目录。
答案 1 :(得分:0)
我不懂Python,所以在这个答案中没有代码。我的理解是,如果您在目录/foo/
下运行脚本,脚本将输出到/foo/bar.txt
。如果您将目录更改为faa
,则会输出到/faa/bar.txt
。接下来,无论脚本执行的是什么目录,您都希望有一种始终写入特定目录的方法。
您可以更改您的代码所在的目录,但这可能不是您想要做的。您需要在一次传递中将文件输出到目标目录,例如。 write("~/static_dir/"+file_name, file_contents)
。
原因很简单: