概要
在做数据分析的时候,需要把数据导出来,然后批量把数据写入到报表中,但是文件一旦多了,就会导致代码特别的多,所以需要一个主程序来批量运行很多Python文件,网上大部分的一个Python程序运行另外一个Python程序很多都不行,要不有涉及输入的input函数,会把input提前到最前面,导致有些变量没创建就会有问题,后面找了个subprocess模块可以解决这个问题
模块
subprocess
具体实现方法
run 方法
Windows 运行环境
python版本:3.9.7 64-bit
同层次目录file1.py,file2.py
上代码
file1.py
a = input('file1第一个随便输入\n')
print(f'file1第一个随便输入的结果为:{a}')
print('我是file1')
print('我是file1')
print('我是file1')
b = input('file1第二个随便输入\n')
print(f'file1第二个随便输入的结果为:{b}')
print('我是file1')
print('我是file1')
print('我是file1')
file2.py
import subprocess
# 运行另一个Python文件
subprocess.run(["python", "file1.py"])
# 运行Java文件
# 编译 Java 文件
#subprocess.run(["javac", "YourJavaFile.java"])
# 运行 Java 程序
#subprocess.run(["java", "YourJavaFile"])
# 运行go文件
# 编译 Go 文件
#subprocess.run(["go", "build", "YourGoFile.go"])
# 运行 Go 程序
#subprocess.run(["./YourGoFile"])
结果:
file1第一个随便输入
11111
file1第一个随便输入的结果为:11111
我是file1
我是file1
我是file1
file1第二个随便输入
222222
file1第二个随便输入的结果为:222222
我是file1
我是file1
我是file1
解析代码
就两行的代码,没啥可说的。下课!
小结
介绍了模块 subprocess 来批量运行Python文件,并且解决了input输入的问题