我正在尝试通过另一个(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中,但它们似乎都不起作用。如果要导入函数,第一个解决方案效果很好,但是当我要创建文本文件时,它不起作用。
有谁知道我在做什么错以及如何解决?
最佳答案
要运行另一个文件,您有一些选择:
最好的方法是将文件视为模块,然后将其导入并调用其方法,因此您必须将在方法中创建的.txt封装起来
#on file1.py
def createTxt():
#your txt creation goes here
并从
createTxt
导入file2.py
中调用file1.py
,这将运行该方法并创建txt文件#on file2.py
import file1
createTxt()
您还可以使用
execfile('file2.py')
来执行它并将其作为脚本运行,或者使用os.system('python file2.py')
进行系统调用,导入os
也可以作为脚本运行通常,第一个是更安全,更好的代码,请尽可能避免使用其他两个