0


【Python】PyCharm中调用另一个文件的函数或类

🎉欢迎来到Python专栏~PyCharm中调用另一个文件的函数或类


  • ☆* o(≧▽≦)o ☆*~我是小夏与酒🍹
  • 博客主页:小夏与酒的博客
  • 🎈该系列文章专栏:Python学习专栏
  • 文章作者技术和水平有限,如果文中出现错误,希望大家能指正🙏
  • 📜 欢迎大家关注! ❤️图标

CSDN

🎉 目录-PyCharm中调用另一个文件的函数或类

遇见未来

一、说明

Python技能树:Python入门技能树。
版本:Python 3.10。
IDE:PyCharm。

二、同一文件夹中的调用

新建一个项目,需要在

main.py

中调用

add_method.py

中的函数,注意文件的目录关系。

main.py

add_method.py

是在同一个文件夹下:
目录1
先在

add_method.py

中编写我们需要使用的函数,为了演示方便,定义了一个两数求和的函数:

defadder(a,b):return  a + b

接下来在main.py中调用该函数:

import add_method

c = add_method.adder(1,2)print(c)

三、不同文件夹中的调用

在不同文件夹之间调用时,需要设置对应文件夹的root路径。

先看一下不设置root路径导致的情况:
新建一个项目,在项目中新建两个文件夹分别存放main和函数:
2
先关注在

main.py

中调用

adder.py

中的函数,编写

adder.py

defadder(a,b):return a + b

main.py

中调用:

from fx import adder

c = adder.adder(2,2)print(c)

结果发现是可以调用成功的。

叮叮叮~ 在如下情况中如果不设置root路径,将无法运行成功:

编写

pow.py

defpowplus(a,b):return a*b

我们在

adder.py

的函数中调用

powplus()

函数:

importpowdefadder(a,b):return a + b

defadd_pow(a,b):
    c = a + b
    d =pow.powplus(a,b)return c,d

更改

main.py

from fx import adder

c = adder.adder(2,2)print(c)

_,e= adder.add_pow(1,1)print(e)

注意调用格式:

from fx import adder

运行结果报错:
报错1
解决方法:将fx文件夹设置为root路径:
root
对于英文版的PyCharm,设置root路径参考:Pycharm中,python如何调用另一个文件的类或者函数。

设置好root之后,该程序即可正常运行。

取消root设置的步骤:
取消root

四、使用小例子

对于文章【Python】Python实现串口通信(Python+Stm32)中Python实现串口通信的代码:

import serial
from time import sleep

defrecv(serial):whileTrue:
        data = serial.read_all().hex()if data =='':continueelse:break
        sleep(0.02)return data

defsend(send_data):
    send_data_hex =bytes.fromhex(send_data)if(serial.isOpen()):
        serial.write(send_data_hex)# 编码print("发送成功", send_data_hex)else:print("发送失败!")if __name__ =='__main__':
    serial = serial.Serial('COM3',9600, timeout=0.5)if serial.isOpen():print("open success")else:print("open failed")#这里如果不加上一个while True,程序执行一次就自动跳出了whileTrue:
        a =input("输入要发送的数据:")
        send(a)
        sleep(0.5)# 起到一个延时的效果
        data =recv(serial)if data !='':print("receive : ",data)

在代码中定义了函数,不方便我们进行整体的阅读,将定义的函数放到新的py文件中,注意文件的目录关系:
3
文件

defserial.py

from time import sleep

defrecv(serial):whileTrue:
        data = serial.read_all().hex()if data =='':continueelse:break
        sleep(0.02)return data

defsend(serial,send_data):
    send_data_hex =bytes.fromhex(send_data)if(serial.isOpen()):
        serial.write(send_data_hex)# 编码print("发送成功", send_data_hex)else:print("发送失败!")

导入调用:

import serial
from time import sleep
from DefSerial import defserial

文件

main.py

import serial
from time import sleep
from DefSerial import defserial

if __name__ =='__main__':
    serial = serial.Serial('COM3',9600, timeout=0.5)if serial.isOpen():print("open success")else:print("open failed")#这里如果不加上一个while True,程序执行一次就自动跳出了whileTrue:
        a =input("输入要发送的数据:")
        defserial.send(serial,a)
        sleep(0.5)# 起到一个延时的效果
        data = defserial.recv(serial)if data !='':print("receive : ",data)

运行结果:
注意:在调试运行的时候,需要保证串口正确打开。

运行结果

csdn

🧸结尾


  • ❤️ 感谢您的支持和鼓励! 😊🙏
  • 📜您可能感兴趣的内容:
  • 【Python】Python实现串口通信(Python+Stm32)
  • 【Verilog HDL】FPGA-testbench基础知识
  • 【Arduino TinyGo】【最新】使用Go语言编写Arduino-环境搭建和点亮LED灯
  • 【全网首发开源教程】【Labview机器人仿真与控制】Labview与Solidworks多路支配关系-四足爬行机器人仿真与控制遇见未来

本文转载自: https://blog.csdn.net/m0_56262476/article/details/131710163
版权归原作者 小夏与酒 所有, 如有侵权,请联系我们删除。

“【Python】PyCharm中调用另一个文件的函数或类”的评论:

还没有评论