有一个简单的程序来克隆远程git repo并检查是否存在少量文件/目录。
简单地说,在一个目录下,在完成git clone之后,进入那个新目录(由git clone创建)并查找是否存在少量文件/目录,这里的问题是如果我检查thro程序就说这样的文件/目录未找到但如果它执行ls(在终端中)或使用os.path.exists转到python控制台检查存在它是否存在
#!/bin/env python
import os
import subprocess
base_dir='/something'
os.chdir(base_dir)
subprocess.Popen(["git clone github.com/something.git"],shell=True, stdout=subprocess.PIPE)
os.chdir(something)
some_file=base_dir+"/"+something+"/"+"good_directory/subdirectory/good_file"
if os.path.exists(some_file):
print("nice")
else:
print("oh file doesnt exist!")
try:
shutil.rmtree(something)
except OSError:
pass
当我运行这个程序时,它说" good_file"不存在(它存在!)但是当我在交互模式下运行时,它显示为TRUE。 我肯定错过了什么,请帮助我。