0

我有一段代码运行其他四段代码。但是,当这些代码运行时,它们会将其输出写入我运行此代码的目录中。我想知道是否有一种方法可以运行代码,以便每次之后都会更改目录,这是我的代码:

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)

我希望顶部会更改每个分机的目录,但事实并非如此。有没有办法做到这一点,还是我应该改变程序以写入不同的目录?

4

2 回答 2

2

您可以使用os.chdir(path)来更改当前目录。

于 2013-07-23T11:10:18.420 回答
0

我不知道 Python,所以这个答案中没有代码。我的理解是,如果你在目录下运行脚本/foo/,脚本输出到/foo/bar.txt. 如果将目录更改为faa,您将输出到/faa/bar.txt. 接下来,您需要一种始终写入特定目录的方法,无论脚本在哪个目录中执行。

可以更改代码所在的目录,但这可能不是您想要做的。您需要一次性将文件输出到目标目录,例如。write("~/static_dir/"+file_name, file_contents).

原因很简单:

  • 更少的命令
  • 更难迷失在目录中
于 2013-07-23T11:13:39.520 回答