如何用python调用另一个python脚本?

冷炫風刃
发布: 2025-11-27 22:23:02
原创
203人浏览过
答案:Python中调用另一脚本的方法有四种:1. 使用os.system("python other_script.py")可简单运行脚本但无法获取输出;2. 推荐使用subprocess.run(["python", "other_script.py"], capture_output=True, text=True)能捕获输出和错误,支持传参;3. 若需复用函数,可将目标脚本作为模块import并调用其函数,要求其代码结构合理;4. 使用exec读取并执行脚本内容,适用于动态执行但存在安全风险。根据需求选择:独立运行用subprocess,函数复用用import,调试可用os.system或exec。

如何用python调用另一个python脚本?

在Python中调用另一个Python脚本,有多种方法可以实现,常用的方式包括使用 os.systemsubprocess 模块,以及直接导入模块(适用于函数级别的复用)。下面介绍几种实用的方法。

1. 使用 os.system() 调用脚本

这是最简单的方式,通过系统命令运行另一个Python脚本。

import os
os.system("python other_script.py")
登录后复制

优点是写法简单,缺点是无法获取输出结果,也不便于传递复杂参数。

2. 使用 subprocess.run() 推荐方式

更强大且安全的方式是使用 subprocess 模块,可以控制输入输出,还能捕获执行结果。

立即学习Python免费学习笔记(深入)”;

import subprocess

result = subprocess.run(["python", "other_script.py"], capture_output=True, text=True)
print("标准输出:", result.stdout)
print("错误信息:", result.stderr)
登录后复制

如果脚本需要传参,可以这样写:

subprocess.run(["python", "other_script.py", "arg1", "arg2"])
登录后复制

3. 直接导入模块(适用于函数调用)

如果想复用另一个脚本中的函数,推荐将其当作模块导入。

Intermediate Perl 电子书 chm版
Intermediate Perl 电子书 chm版

从一个Perl爱好者到一个Perl程序员。《Intermediate Perl》将教您如何把Perl作为编程语言来使用,而不仅只是作为一种脚本语言。   Perl是一种灵活多变、功能强大的编程语言,可以应用在从系统管理到网络编程再到数据库操作等很多方面。人们常说Perl让容易的事情变简单、让困难的事情变得可行。《Intermediate Perl》正是关于如何将技能从处理简单任务跃升到胜任困难任务的书籍。   本书提供对Perl中级编程优雅而仔细的介绍。由畅销的《学习Perl》作者所著,本书提供了《学习P

Intermediate Perl 电子书 chm版 0
查看详情 Intermediate Perl 电子书 chm版

假设文件名为 helper.py,内容如下:

def say_hello():
    print("Hello from helper!")
登录后复制

在主脚本中导入并调用:

import helper
helper.say_hello()
登录后复制

这种方式效率高,适合结构化项目,但要求被调用的脚本没有直接的顶层执行逻辑(或用 if __name__ == "__main__": 包裹)。

4. 使用 exec() 执行脚本文件内容

可以读取并执行另一个脚本的内容,适用于动态执行。

with open("other_script.py") as f:
    exec(f.read())
登录后复制

注意:exec 存在安全风险,不建议对不可信的脚本使用。

基本上就这些。根据需求选择合适的方式:想完全独立运行脚本用 subprocess;想复用函数就 import;临时调试可以用 os.system 或 exec。

以上就是如何用python调用另一个python脚本?的详细内容,更多请关注php中文网其它相关文章!

相关标签:
python速学教程(入门到精通)
python速学教程(入门到精通)

python怎么学习?python怎么入门?python在哪学?python怎么学才快?不用担心,这里为大家提供了python速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号