Python导入或执行python源文件的3种方法

 更新时间:2023年08月24日 10:20:01   作者:笨牛慢耕  
这篇文章主要给大家介绍了关于Python导入或执行python源文件的3种方法,python源代码的文件以"py"为扩展名,由python.exe解释,可以在控制台下运行,需要的朋友可以参考下

概要

本文介绍python中导入或执行python源文件(通常是从另一个python源文件中)的几种常用方法。包括import, exec(), os.system()等。

方法1:import

第一种方式是使用import。

比如说有一个文件hello_world.py,内容如下:

helloWorldStr = 'Hello, welcome to python world!'
def HelloWorld():
    print('HelloWorld(): Hello, welcome to python world!')
print('hello_world.py: HelloWorld(): Hello, welcome to python world!')    

然后,在另一个python源文件(假定与hello_world.py在同一个文件夹)中import这个文件(每一格python源文件都被看做是一个Module)。python中import一个文件时不仅仅是把这个文件读入而已,而是把它执行了一次(除了 if __name__ == '__main__': 所限定的部分)。

import hello_world
print(hello_world.helloWorldStr)
hello_world.HelloWorld()

执行后的结果如下所示:

hello_world.py: HelloWorld(): Hello, welcome to python world!
Hello, welcome to python world!
HelloWorld(): Hello, welcome to python world!

总共打印了三次。第一次是import时直接执行hello_world.py中的打印语句。第二次是当前文件中的print语句,其中直接利用了hello_world.py中定义的字符串变量。第三次是调用了hello_world.py中的定义的函数。

方法2:exec()

第二种方式是使用python内置函数exec()。使用例如下:

with open('hello_world.py','r') as f:
    exec(f.read())   

可以写成更为简洁的方式:

exec(open('hello_world.py','r').read())

 以上两种写法等价,运行可得:

hello_world.py: HelloWorld(): Hello, welcome to python world!

方法3:os.system()

第三种方式是使用os.system()生成子进程的方式,示例如下:

import os
os.system('python hello_world.py')

运行结果同上一节。

总结

到此这篇关于Python导入或执行python源文件的3种方法的文章就介绍到这了,更多相关Python导入执行python源文件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python itertools库高效迭代艺术实例探索

    Python itertools库高效迭代艺术实例探索

    Python 中的 itertools 库为迭代器操作提供了丰富的工具集,使得处理迭代对象变得更加高效和灵活,本篇文章将深入讨itertools库的常用方法,通过详实的示例代码演示其在解决各种问题中的应用
    2024-01-01
  • 如何基于opencv实现简单的数字识别

    如何基于opencv实现简单的数字识别

    现在很多场景需要使用的数字识别,比如银行卡识别,以及车牌识别等,在AI领域有很多图像识别算法,大多是居于opencv 或者谷歌开源的tesseract 识别,下面这篇文章主要给大家介绍了关于如何基于opencv实现简单的数字识别,需要的朋友可以参考下
    2021-09-09
  • Python实现基本Socket服务端与客户端通信的完整代码

    Python实现基本Socket服务端与客户端通信的完整代码

    这篇文章主要介绍了Python实现基本Socket服务端与客户端通信,分步详解与完整代码都有,按需所求即可,对Python Socket服务端与客户端通信相关知识感兴趣的朋友一起看看吧
    2023-06-06
  • 解决python中无法自动补全代码的问题

    解决python中无法自动补全代码的问题

    今天小编就为大家分享一篇解决python中无法自动补全代码的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-12-12
  • 用Python+OpenCV对比图像质量的几种方法

    用Python+OpenCV对比图像质量的几种方法

    这篇文章主要介绍了用Python+OpenCV对比图像质量过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-07-07
  • python决策树之C4.5算法详解

    python决策树之C4.5算法详解

    这篇文章主要为大家详细介绍了python决策树之C4.5算法的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-12-12
  • 使用gunicorn部署django项目的问题

    使用gunicorn部署django项目的问题

    这篇文章主要介绍了使用gunicorn部署django项目,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-12-12
  • numpy ndarray 按条件筛选数组,关联筛选的例子

    numpy ndarray 按条件筛选数组,关联筛选的例子

    今天小编就为大家分享一篇numpy ndarray 按条件筛选数组,关联筛选的例子,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-11-11
  • Python使用PIL库拼接图片的详细教程

    Python使用PIL库拼接图片的详细教程

    在图像处理中,拼接图片是一项常见的任务,无论是为了创建全景图、合并多张图片,还是为了展示对比,拼接图片都能带来很大的便利,Python的Pillow库(PIL的一个分支)提供了强大的图像处理功能,包括图片的拼接,下面是一个详细的教程,需要的朋友可以参考下
    2024-12-12
  • Python LMDB库的使用示例

    Python LMDB库的使用示例

    这篇文章主要介绍了Python LMDB库的使用示例,帮助大家更好的利用python处理数据库,感兴趣的朋友可以了解下
    2021-02-02

最新评论