search
HomeBackend DevelopmentPython Tutorial如何在一个py程序里执行另一个py程序?

在搜索引擎上搜过,未果
问题的详细描述:假设在桌面有一个“A.py”,当A.py被运行的时候会自动打开“B.py”(不在桌面,而是在其他路径,并且这个路径已知)。

实现效果类似于如下代码:

<span class="kn">import</span> <span class="nn">os</span>
<span class="n">start_dire</span> <span class="o">=</span> <span class="s">r"E:\*.txt"</span>
<span class="n">os</span><span class="o">.</span><span class="n">system</span><span class="p">(</span><span class="s">"explorer.exe </span><span class="si">%s</span><span class="s">"</span> <span class="o">%</span><span class="n">start_dire</span><span class="p">)</span>

回复内容:

考虑到题主是新手,我就多说几个方法

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所在的路径加入系统路径:
<span class="kn">import</span> <span class="nn">sys</span>
<span class="n">sys</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="s">'E:/'</span><span class="p">)</span>
<span class="kn">import</span> <span class="nn">b</span>
<span class="n">b</span><span class="o">.</span><span class="n">foo</span><span class="p">()</span>
把explorer.exe换成python.exe试试
还可以通过import来执行其他文件里的代码
Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
如何修复 Explorer.exe 高 CPU 使用率 Windows 11如何修复 Explorer.exe 高 CPU 使用率 Windows 11May 02, 2023 am 09:40 AM

与Windows11中Explorer.exe高CPU使用率的问题不同,一台计算机可能会遇到高CPU使用率。这是完全正常的,只要它很少发生并且不会显着影响PC的性能。然而,当它反复出现时,这会成为一个问题。它可能会使系统升温,延迟加载时间,并可能在您处理重要任务时冻结。为什么我的电脑会遇到Explorer.exe高CPU使用率?通常,由于以下原因之一,计算机可能会遇到高CPU使用率:运行需要更高CPU要求的程序:视频编辑和游戏软件会触发高CPU使用率。如果在与发布

docker start起不来怎么办docker start起不来怎么办Oct 21, 2022 pm 03:43 PM

docker start起不来的解决办法:1、检查运行状态,然后通过“echo 3 &gt; /proc/sys/vm/drop_caches”命令释放被占用的内存;2、通过“$netstat -nltp|grep ...”命令检查端口是否已经被占用,如果上线后发现占有,则改为可用端口再重启即可。

Internet Explorer 打开 Edge:如何停止 MS Edge 重定向Internet Explorer 打开 Edge:如何停止 MS Edge 重定向Apr 14, 2023 pm 06:13 PM

长期以来,InternetExplorer的失宠一直不是秘密,但随着Windows11的到来,现实开始了。Edge将来不再有时取代IE,它现在是微软最新操作系统中的默认浏览器。目前,您仍然可以在Windows11中启用InternetExplorer。但是,IE11(最新版本)已经有了一个正式的退役日期,即2022年6月15日,时间在流逝。考虑到这一点,您可能已经注意到InternetExplorer有时会打开Edge,而您可能不喜欢它。那么为什么会这样呢?在

explorer.exe应用程序错误如何解决explorer.exe应用程序错误如何解决Jun 21, 2023 pm 02:14 PM

explorer.exe应用程序错误的解决办法:1、按下键盘上的“win”+“R”组合键,再打开的运行窗口中输入命“inetcpl.cpl”;2、在上方选择“高级”选项卡,在下方点击“重置”;3、在弹出来的窗口中,勾选“删除个人设置”,勾选后点击下面的“重置”。如果以上操作无法解决问题,请检查电脑是否有木马,这个时候建议重装系统,安装一个原版或者纯净版的系统。

Python 的 import 是怎么工作的?Python 的 import 是怎么工作的?May 15, 2023 pm 08:13 PM

你好,我是somenzz,可以叫我征哥。Python的import是非常直观的,但即使这样,有时候你会发现,明明包就在那里,我们仍会遇到ModuleNotFoundError,明明相对路径非常正确,就是报错ImportError:attemptedrelativeimportwithnoknownparentpackage导入同一个目录的模块和不同的目录的模块是完全不同的,本文通过分析使用import经常遇到的一些问题,来帮助你轻松搞定import,据此,你可以轻松创建属

微软希望通过将功能与 explorer.exe 解耦来提高 Windows 11 的运行速度微软希望通过将功能与 explorer.exe 解耦来提高 Windows 11 的运行速度May 06, 2023 am 08:40 AM

Windows任务管理器如果您是Windows的长期用户,您就会知道操作系统中的多个进程或功能都与文件资源管理器相关联。虽然explorer.exe应该只与文件管理相关联,但它也与Windows体验的其他部分相关联,例如任务栏,这对性能来说并不是一件好事。Microsoft一直在采取措施将任务栏、通知中心等功能与文件资源管理器(explorer.exe)分离。桌面和explorer.exe之间的集成是操作系统的瓶颈之一,因为繁重的资源密集型文件操作可能会使任务栏等不相关的

Internet Explorer 11 三个月后退役Internet Explorer 11 三个月后退役Apr 13, 2023 pm 10:34 PM

微软宣布淘汰适用于大多数 Windows 10 操作系统版本的Internet Explorer 11 网络浏览器。昨天,微软发布提醒,对 Internet Explorer 11 的支持将于 2022 年 6 月 15 日用完。Windows Release Health 网站上的一条消息通知用户和管理员 Internet Explorer 11 作为桌面应用程序即将结束。如

一个时代的结束:Internet Explorer 11 已退役,这是你需要知道的一个时代的结束:Internet Explorer 11 已退役,这是你需要知道的Apr 20, 2023 pm 06:52 PM

2022年6月15日是Microsoft结束对InternetExplorer11(IE11)的支持并关闭其旧版浏览器章节的日子。一段时间以来,该公司一直在提醒用户注意这一生命周期结束日期,并呼吁他们计划迁移到MicrosoftEdge。Microsoft将IE11与Windows8.1捆绑在一起,作为Windows的现代默认Web浏览器。尽管它从未达到Chrome的(当前)高度,但它是2014年使用量第二大的桌面浏览器,仅次于IE8。当然,随着20

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
2 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
Repo: How To Revive Teammates
4 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: How To Get Giant Seeds
4 weeks agoBy尊渡假赌尊渡假赌尊渡假赌

Hot Tools

PhpStorm Mac version

PhpStorm Mac version

The latest (2018.2.1) professional PHP integrated development tool

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser is a secure browser environment for taking online exams securely. This software turns any computer into a secure workstation. It controls access to any utility and prevents students from using unauthorized resources.

SublimeText3 English version

SublimeText3 English version

Recommended: Win version, supports code prompts!

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)