Python 跨.py文件调用自定义函数说明


Posted in Python onJune 01, 2020

0 前言

os.chdir() :用于改变当前python工作的目录到指定的路径

sys.path:是python搜索模块的一个路径集,为list,自定义的包可以把存放路径加进去,之后直接调用包名就行了。

1 同一文件夹

一般当前的工作路径是在搜索路径里面,所以不用sys.path.append,如果调用包的时候报错,先使用sys.path查看当前路径在不在list里,不在list里加进去才能直接调用自定义包。

一个文件夹内有两个 .py 文件:

exe101.py
FileWriteAbout.py

我们想在exe101.py文件内调用FileWriteAbout.py文件中的 任意 一个自定义函数。

Python 跨.py文件调用自定义函数说明

假如调用FileWriteAbout.py文件中的函数writeList():

Python 跨.py文件调用自定义函数说明

直接在exe101.py中输入:

import FileWriteAbout # 导入另一个文件
FileWriteAbout.writeList() #调用其中的函数名

#或者下面这种,只是调用时省略py文件名容易导致不同包内的函数名字冲突
from FileWriteAbout import *
writeList() #直接写函数名

ps:

如果只涉及被调用py文件中的一个具体函数

就可以将调入形式写成:

from FileWriteAbout import writeList
writeList()

2 不同文件夹下

两个py文件不再一个目录的情况下

2.1 用append将待调用文件路径加入搜索list

import sys
sys.path.append(r"D:\MathElectric\python\exercises") 
 # 待引用的py文件路径加到了搜索列表里

import FileWriteAbout # py 文件名
FileWriteAbout.writeList() # 具体函数

2.2 使用imp包

导入imp包:

import imp

AA = imp.load_source(name,pathname[,file])

将源py文件pathname导入到名字为name的模块中,name可以是自己定义。

例如:

import imp # 导入
CC = imp.load_source('MM',r'D:\MathElectric\python\exercises\FileWriteAbout.py')

使用时:

方法(1):直接使用

CC.writeList()

方法(2):导入别名使用

import MM
MM.writeList()

3 spyder使用相对路径读取文件

绝对路径读取文件没有问题。

data = pd.read_excel(r"D:/project/UCIpowerPre/CCPP/Folds5x2_pp.xlsx")

使用spyder写代码的时候想使用相对路径直接读数据,

data = pd.read_excel(r"CCPP/Folds5x2_pp.xlsx")

发现报错。

其实就是代码编辑的工作路径和数据路径不对应。

我们可以把工作路径切换到待读取文件所在的位置。

或者在spyder右上角把当前的工作路径改一下。

import os
os.chdir(r"D:/project/UCIpowerPre")

重点区分这几个路径的区别:

当前的工作路径

py文件包的搜索路径

数据文件所在路径

补充知识:python只引入模块并不能直接调用该模块的函数

如下图:

Python 跨.py文件调用自定义函数说明

这里只引入了recognizer模块,没有直接引入其函数,会报错name 'XXX' is not defined

若想频繁使用某个函数,可以将它赋值给一个本地变量

如:

predict = recognizer.predict
clean_captcha = recognizer.clean_captcha
get_captcha = recognizer.get_captcha

Python 跨.py文件调用自定义函数说明

以上这篇Python 跨.py文件调用自定义函数说明就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
使用python实现扫描端口示例
Mar 29 Python
Python中动态获取对象的属性和方法的教程
Apr 09 Python
cmd运行python文件时对结果进行保存的方法
May 16 Python
Python定时发送消息的脚本:每天跟你女朋友说晚安
Oct 21 Python
Python GUI自动化实现绕过验证码登录
Jan 10 Python
Python 读取WAV音频文件 画频谱的实例
Mar 14 Python
pandas dataframe 中的explode函数用法详解
May 18 Python
python 日志模块 日志等级设置失效的解决方案
May 26 Python
matplotlib.pyplot.matshow 矩阵可视化实例
Jun 16 Python
Django生成数据库及添加用户报错解决方案
Oct 09 Python
Python用摘要算法生成token及检验token的示例代码
Dec 01 Python
python turtle绘图命令及案例
Nov 23 Python
Python3 socket即时通讯脚本实现代码实例(threading多线程)
Jun 01 #Python
Python如何在main中调用函数内的函数方式
Jun 01 #Python
Python爬取YY评级分数并保存数据实现过程解析
Jun 01 #Python
基于Python绘制个人足迹地图
Jun 01 #Python
python 写函数在一定条件下需要调用自身时的写法说明
Jun 01 #Python
解决python调用自己文件函数/执行函数找不到包问题
Jun 01 #Python
Python如何在循环内使用list.remove()
Jun 01 #Python
You might like
php处理json时中文问题的解决方法
2011/04/12 PHP
PHP之autoload运行机制实例分析
2014/08/28 PHP
PHP的pcntl多进程用法实例
2015/03/19 PHP
通过PHP自带的服务器来查看正则匹配结果的方法
2015/12/24 PHP
php获取ip及网址的简单方法(必看)
2017/04/01 PHP
php使用自带dom扩展进行元素匹配的原理解析
2020/05/29 PHP
javascript Xml增删改查(IE下)操作实现代码
2009/01/30 Javascript
对javascript的一点点认识总结《javascript高级程序设计》读书笔记
2011/11/30 Javascript
javascript-简单的计算器实现步骤分解(附图)
2013/05/30 Javascript
图片Slider 带左右按钮的js示例
2013/08/30 Javascript
使用ImageMagick进行图片缩放、合成与裁剪(js+python)
2013/09/16 Javascript
轻松学习jQuery插件EasyUI EasyUI表单验证
2015/12/01 Javascript
AngularJS 模块化详解及实例代码
2016/09/14 Javascript
微信小程序 http请求详细介绍
2016/10/09 Javascript
javascript简易画板开发
2020/04/12 Javascript
基于JavaScript实现验证码功能
2017/04/01 Javascript
vue 通过下拉框组件学习vue中的父子通讯
2017/12/19 Javascript
Linux Centos7.2下安装nodejs&npm配置全局路径的教程
2018/05/15 NodeJs
JS实现电脑虚拟键盘打字测试
2020/06/24 Javascript
跟老齐学Python之让人欢喜让人忧的迭代
2014/10/02 Python
Python解决两个整数相除只得到整数部分的实例
2018/11/10 Python
TensorFlow索引与切片的实现方法
2019/11/20 Python
Python 函数绘图及函数图像微分与积分
2019/11/20 Python
python GUI库图形界面开发之PyQt5图片显示控件QPixmap详细使用方法与实例
2020/02/27 Python
python自动脚本的pyautogui入门学习
2020/04/01 Python
PyQt5中QSpinBox计数器的实现
2021/01/18 Python
HTML5 常见面试题之PC端和移动端区别介绍
2018/01/22 HTML / CSS
80年代复古T恤:TruffleShuffle
2018/07/02 全球购物
Fresh馥蕾诗英国官网:法国LVMH集团旗下高端天然护肤品牌
2018/11/01 全球购物
美国按摩椅批发网站:Titan Chair
2018/12/27 全球购物
曼城官方网上商店:Manchester City
2019/09/10 全球购物
校长岗位职责
2013/11/26 职场文书
通用求职信范文模板分享
2013/12/27 职场文书
如何写求职信
2014/05/24 职场文书
2016高一新生军训心得体会
2016/01/11 职场文书
《假如》教学反思
2016/02/17 职场文书