我试图通过另一个(file1.py)执行一个python脚本(file2.py)。 第一个文件位于test / file1.py中,第二个文件位于test / test1 / file2.py中。
例如,file2.py具有以下代码:
file = open("textfile.txt","w")
file.write("Hello world")
file.close()
所以我试图从file1.py创建一个.txt文件。 为此,我尝试了几种解决方案,例如:
import Test1.file2
或
import os
os.system('Test1/file2.py')
或
from subprocess import call
call('Test1/file2.py', shell='True')
在file1.py中,但是它们似乎都不起作用。如果要导入函数,第一种解决方案效果很好,但是当我要创建文本文件时,它不起作用。
有人知道我在做什么错以及如何解决吗?
答案 0 :(得分:0)
要运行另一个文件,您有一些选择:
最好的方法是将文件视为模块,将其导入,然后调用其方法,因此您必须将在方法中创建的.txt封装起来
#on file1.py
def createTxt():
#your txt creation goes here
并从导入createTxt
的{{1}}中调用file2.py
,这将运行该方法并创建txt文件
file1.py
您还可以使用#on file2.py
import file1
createTxt()
来执行它并将其作为脚本运行,或者通过导入execfile('file2.py')
进行os.system('python file2.py')
来进行系统调用,也可以作为脚本运行
第一个更安全,代码总体上更好,请尽可能避免使用其他两个