如何在一个py程序里执行另一个py程序?
程序员文章站
2022-05-29 16:56:01
...
在搜索引擎上搜过,未果
问题的详细描述:假设在桌面有一个“A.py”,当A.py被运行的时候会自动打开“B.py”(不在桌面,而是在其他路径,并且这个路径已知)。
实现效果类似于如下代码:
0. runpy.run_path('my_awesome_program.py')
首选这个方法,全平台通用
1. 直接import那个文件(如果那个文件没加__name__=='__main__'判断的话),如果文件名是变量的话,用__import__('my_awesome_program')
2. os.startfile('my_awesome_program.py')
这是windows-only的,自己用用还行,稍微大一点的项目就别用了
3. os.system('python "%s"' % 'my_awesome_program.py')
但如果对方电脑的python不在%path%里就挂了,因此还是仅限自己用
4.用subprocess,命令行同上,用法请自行百度或者查文档
同样也仅限自己用
5. 你试试execfile('my_awesome_program.py'),我没试过,不确定行不行
UPDATE: 我试过了,可以,好像这个也是全平台通用的。 Python不知道,不过Perl语言有一个内置变量$^X,其内容是正在执行当前脚本的Perl解释器的路径。可以用那个变量的内容去执行另一个Perl脚本:
1. 把B.py所在的路径加入系统路径:
还可以通过import来执行其他文件里的代码
问题的详细描述:假设在桌面有一个“A.py”,当A.py被运行的时候会自动打开“B.py”(不在桌面,而是在其他路径,并且这个路径已知)。
实现效果类似于如下代码:
import os start_dire = r"E:\*.txt" os.system("explorer.exe %s" %start_dire)
回复内容:
考虑到题主是新手,我就多说几个方法0. runpy.run_path('my_awesome_program.py')
首选这个方法,全平台通用
1. 直接import那个文件(如果那个文件没加__name__=='__main__'判断的话),如果文件名是变量的话,用__import__('my_awesome_program')
2. os.startfile('my_awesome_program.py')
这是windows-only的,自己用用还行,稍微大一点的项目就别用了
3. os.system('python "%s"' % 'my_awesome_program.py')
但如果对方电脑的python不在%path%里就挂了,因此还是仅限自己用
4.用subprocess,命令行同上,用法请自行百度或者查文档
同样也仅限自己用
5. 你试试execfile('my_awesome_program.py'),我没试过,不确定行不行
UPDATE: 我试过了,可以,好像这个也是全平台通用的。 Python不知道,不过Perl语言有一个内置变量$^X,其内容是正在执行当前脚本的Perl解释器的路径。可以用那个变量的内容去执行另一个Perl脚本:
system($^X, "another_script.pl");
先读.py的文件,然后使用eval函数执行.py的文件内容,或者用import
至少有两种方法,假定b.py在E盘的根目录:1. 把B.py所在的路径加入系统路径:
import sys
sys.path.append('E:/')
import b
b.foo()
把explorer.exe换成python.exe试试还可以通过import来执行其他文件里的代码
声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
相关文章
相关视频
专题推荐
-
独孤九贱-php全栈开发教程
全栈 170W+
主讲:Peter-Zhu 轻松幽默、简短易学,非常适合PHP学习入门
-
玉女心经-web前端开发教程
入门 80W+
主讲:灭绝师太 由浅入深、明快简洁,非常适合前端学习入门
-
天龙八部-实战开发教程
实战 120W+
主讲:西门大官人 思路清晰、严谨规范,适合有一定web编程基础学习
网友评论
文明上网理性发言,请遵守 新闻评论服务协议
我要评论