我正在尝试通过另一个(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也可以作为脚本运行

通常,第一个是更安全,更好的代码,请尽可能避免使用其他两个

07-24 09:52
查看更多