我有一个Python脚本,可以执行3件事:
现在,如果我运行脚本,它将通过所有3个功能运行,而不管文件是否存在于测试目录中。
我要执行的操作是检查文件是否存在。如果是这样,请复制它,一旦复制完成,请执行其他脚本。我在寻找一种简单的方法将它们链接在一起时遇到麻烦。这是我的脚本:
import os
import os.path
from os import path
import shutil
def check_file():
file_exists = False
for deploy_file in os.listdir("C:\\test1\\test.txt"):
if deploy_file.startswith("test"):
file_exists = True
else:
exit(1)
print file_exists
def copy_file():
src = "C:\\test1\\"
dst = "C:\\test2\\"
files = [i for i in os.listdir(src) if i.startswith("test") and path.isfile(path.join(src, i))]
print files
for f in files:
shutil.copy(path.join(src, f), dst)
def run_script():
os.system("pathofscript") # for testing its just a script that prints "hello world"
def main():
check_file()
copy_file()
run_script()
main()
因此,按原样运行此输出将是:
True
['test.txt']
"hello world"
如何编写我的main()
方法来执行我想做的事情?
答案 0 :(得分:1)
您可以使用if语句验证文件是否存在,然后运行其他两个函数。您将必须更新check_file()
以返回True或False
def check_file():
file_exists = False
for deploy_file in os.listdir("C:\\test1\\test.txt"):
if deploy_file.startswith("test"):
file_exists = True
else:
file_exists = False
return file_exists
然后您可以将其用作主要功能
def main():
if check_file():
copy_file()
run_script()
else:
exit(1)