好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

如何在一个py程序里执行另一个py程序?

在搜索引擎上搜过,未果
问题的详细描述:假设在桌面有一个“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来执行其他文件里的代码

查看更多关于如何在一个py程序里执行另一个py程序?的详细内容...

  阅读:30次

CopyRight:2016-2025好得很程序员自学网 备案ICP:湘ICP备09009000号-16 http://www.haodehen.cn
本站资讯不构成任何建议,仅限于个人分享,参考须谨慎!
本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。

网站内容来源于网络分享,如有侵权发邮箱到:kenbest@126.com,收到邮件我们会即时下线处理。
网站框架支持:HDHCMS   51LA统计 百度统计
Copyright © 2018-2025 「好得很程序员自学网
[ SiteMap ]