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源文件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 对python3中pathlib库的Path类的使用详解

    对python3中pathlib库的Path类的使用详解

    今天小编就为大家分享一篇对python3中pathlib库的Path类的使用详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-10-10
  • 如何使用Python生成4位数的随机数字

    如何使用Python生成4位数的随机数字

    本文讨论了如何使用randint() 和randrange() 方法来生成一个四位数的数字,此外,我们还讨论了另一种拥有随机四位数号码的途径,感兴趣的朋友跟随小编一起看看吧
    2023-10-10
  • 关于python中@property的使用方法

    关于python中@property的使用方法

    这篇文章主要介绍了关于python中@property的使用方法,@property装饰器会将方法转换为同名的只读属性,它可以与所定义的属性配合使用,需要的朋友可以参考下
    2023-07-07
  • Python 转义字符详细介绍

    Python 转义字符详细介绍

    这篇文章主要介绍了Python 转义字符详细介绍的相关资料,需要的朋友可以参考下
    2017-03-03
  • Python OpenCV之图片缩放的实现(cv2.resize)

    Python OpenCV之图片缩放的实现(cv2.resize)

    这篇文章主要介绍了Python OpenCV之图片缩放的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-06-06
  • python 利用turtle库绘制笑脸和哭脸的例子

    python 利用turtle库绘制笑脸和哭脸的例子

    今天小编就为大家分享一篇python 利用turtle库绘制笑脸和哭脸的例子,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-11-11
  • Python利用Turtle绘画简单图形

    Python利用Turtle绘画简单图形

    这篇文章主要介绍了Python利用Turtle绘画简单图形,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的朋友可以参考一下
    2022-07-07
  • Python编写的com组件发生R6034错误的原因与解决办法

    Python编写的com组件发生R6034错误的原因与解决办法

    pythoncom27.dll可能没有包含manifest信息,或者没有包含正确的manifest信息,或者系统中的c++ runtime library受到破坏都有可能造成这种现象
    2013-04-04
  • Python pandas常用函数详解

    Python pandas常用函数详解

    这篇文章主要介绍了Python pandas常用函数详解,小编觉得还是挺不错的,具有一定借鉴价值,需要的朋友可以参考下
    2018-02-02
  • python使用正则表达式来获取文件名的前缀方法

    python使用正则表达式来获取文件名的前缀方法

    今天小编就为大家分享一篇python使用正则表达式来获取文件名的前缀方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-10-10

最新评论