六种方法实现Python文件之间的互动!

server/2024/12/22 20:28:53/

在这里插入图片描述

一、exec()

首先,我们生成一个名为**“file1.py”的python文件**:

# file1.py  
print("Hello from file1!")

然后,再生成一个名为“main.py”的python文件:

# main.py  
filename = 'file1.py'  
with open(filename) as file:  exec(file.read())

需要注意的是,这两个python文件要放在相同的目录下

在main.py代码中,我们先打开并读取 file1.py 文件的内容,然后使用 exec() 执行这些内容。exec() 函数可以执行存储在字符串或文件中的 Python 代码。

运行main.py代码,输出结果如下;

我们在main.py文件中,通过exec()函数成功调用了file1.py的代码。

二、import

首先,我们生成file1.py:

# file1.py  
def hello():  print("Hello from file1!")

然后,在相同目录下生成main.py:

# main.py  
import file1  
file1.hello()

在main.py代码中,我们通过 import 语句导入其他 Python 文件(file1.py)作为模块,并访问其中定义的函数和变量。这种方法使得代码更加模块化和可重用

运行main.py,输出结果如下:

三、runpy.run_path()

与刚才类似,我们先生成file1.py:

# file1.py  
print("Hello from file1!")

然后,在相同目录下生成main.py:

# main.py  
import runpy  
runpy.run_path('file1.py')

runpy.run_path() 函数用于运行位于指定路径的 Python 脚本。这个函数适用于运行那些不需要导入即可执行的脚本

运行main.py,输出结果如下:

四、subprocess

同样的,我们先生成file1.py:

# file1.py  
print("Hello from file1!")

然后,在相同目录下生成main.py:

# main.py  
import subprocess  
subprocess.run(['python', 'file1.py'])

subprocess 模块允许我们启动新的进程,连接到它们的输入/输出/错误管道,并获取它们的返回码。这里我们用它来运行另一个 Python 文件。

运行main.py,输出结果如下:

五、importlib.import_module()

我们先生成file1.py:

# file1.py  
def hello():  print("Hello from file1!")  

然后,在相同目录下生成main.py:

# main.py  
import importlib  
file1 = importlib.import_module('file1')  
file1.hello()

importlib.import_module() 函数用于导入一个模块。与直接 import 不同,这个函数允许以字符串的形式动态指定模块名,这在某些场景下非常有用。

运行main.py,输出结果如下:

六、os.system()

我们先生成file1.py:

# file1.py
print("Hello from file1!")

然后,在相同目录下生成main.py:

# main.py
import os# 使用os.system()运行file1.py
os.system('python file1.py')

os.system()函数允许你在Python中执行操作系统命令。这意味着你可以使用它来运行另一个Python脚本,就像你在命令行中手动运行它一样。需要注意的是,利用os.system()调用其他python文件时,要在文件名前面加上“python,否则无法显示运行结果。

运行main.py,输出结果如下:

综上所述,我们探讨了六种实现一个Python文件运行另一个Python文件的方法。这些方法各有千秋,适用于不同的场景和需求。开发者可以根据实际情况选择最合适的方法来实现代码之间的交互和执行。

python_192">关于python技术储备

由于文章篇幅有限,文档资料内容较多,需要这些文档的朋友,可以加小助手微信免费获取,【保证100%免费】,中国人不骗中国人。

在这里插入图片描述

                                     **(扫码立即免费领取)**

全套Python学习资料分享:

一、Python所有方向的学习路线

Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

二、学习软件

工欲善其事必先利其器。学习Python常用的开发软件都在这里了,还有环境配置的教程,给大家节省了很多时间。

三、全套PDF电子书

书籍的好处就在于权威和体系健全,刚开始学习的时候你可以只看视频或者听某个人讲课,但等你学完之后,你觉得你掌握了,这时候建议还是得去看一下书籍,看权威技术书籍也是每个程序员必经之路。

四、入门学习视频全套

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。

五、实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

在这里插入图片描述

如有侵权,请联系删除。


http://www.ppmy.cn/server/93225.html

相关文章

python机器学习9--网络服务器

1.有没有更简单的方法让朋友可以直接取得你所开发的Python程序?有两个方法可以使用。第一个方法是使用安装程序,将完整的Python程序安装,另外一个方法就是使用网页服务器的方式,在此将介绍和使用Python创建一个网页服务器&#xf…

探索天穹数仓自治能力的新实践

探索天穹数仓自治能力的新实践 随着业务和技术的发展,传统数仓模式向数智数仓模式演进,数据治理面临诸多挑战。自治平台采用双引擎策略,注重感知能力、观测能力、诊断能力和优化能力的建设,实现了对数据的精细化管理。例如&#x…

Kylin Cube构建日志分析:洞察大数据构建过程的窗口

Kylin Cube构建日志分析:洞察大数据构建过程的窗口 Apache Kylin是一款为Hadoop优化的开源分布式分析引擎,它通过构建数据立方体(Cube)来实现对大数据的快速查询。在维护和优化Cube的过程中,构建日志分析是一个重要的…

2024-07-24 buildroot c语言应用获取 kernel kobject_uevent_env 发送的消息,侦测USB口变化。

一、kobject_uevent_env 是 Linux 内核中的一个函数,用于发送内核事件到用户空间。它主要用于生成和发送与内核对象(kobject)相关的事件通知,这些事件通常用于通知用户空间程序(如 udev)有关硬件的变化或其…

不得不安利的程序员开发神器,太赞了!!

作为一名程序员,你是否常常为繁琐的后端服务而感到头疼?是否希望有一种工具可以帮你简化开发流程,让你专注于创意和功能开发?今天,我要向大家隆重推荐一款绝佳的开发神器——MemFire Cloud。它专为懒人开发者准备&…

【扒模块】DFF

图 医学图像分割任务 代码 import torch import torch.nn as nnfrom timm.models.layers import DropPath # 论文:D-Net:具有动态特征融合的动态大核,用于体积医学图像分割(3D图像任务) # https://arxiv.org/abs/2403…

【七】Hadoop3.3.4基于ubuntu24的分布式集群安装

文章目录 1. 下载和准备工作1.1 安装包下载1.2 前提条件 2. 安装过程STEP 1: 解压并配置Hadoop选择环境变量添加位置的原则检查环境变量是否生效 STEP 2: 配置Hadoop2.1. 修改core-site.xml2.2. 修改hdfs-site.xml2.3. 修改mapred-site.xml2.4. 修改yarn-site.xml2.5. 修改hado…

2024-HW最新漏洞整理及相应解决方案(二)

目录 前言: 漏洞 1.用友NC系统电采complainjudge接口的sql注入漏洞 2.用友U8 CRM产品存在SQL注入漏洞 3.WordPress LMS 插件任意文件上传漏洞 4.Oracle Fusion Middleware 安全漏洞CVE-2024-21181 5.WordPress plugin LearnPress 安全漏洞CVE-2024-6589 6.W…