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编写屏幕截图程序方法
Feb 18 Python
Python下线程之间的共享和释放示例
May 04 Python
总结Python中逻辑运算符的使用
May 13 Python
python绘图方法实例入门
May 19 Python
Python3实现将文件归档到zip文件及从zip文件中读取数据的方法
May 22 Python
Python浅复制中对象生存周期实例分析
Apr 02 Python
python脚本生成caffe train_list.txt的方法
Apr 27 Python
pytorch 数据处理:定义自己的数据集合实例
Dec 31 Python
Python面向对象原理与基础语法详解
Jan 02 Python
Python闭包及装饰器运行原理解析
Jun 17 Python
Python操作Elasticsearch处理timeout超时
Jul 17 Python
Pycharm学生免费专业版安装教程的方法步骤
Sep 24 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生成WAP页面
2006/10/09 PHP
PHP中函数内引用全局变量的方法
2008/10/20 PHP
PHP5与MySQL数据库操作常用代码 收集
2010/03/21 PHP
wamp安装后自定义配置的方法
2014/08/23 PHP
PHP实现补齐关闭的HTML标签
2016/03/22 PHP
PHP与服务器文件系统的简单交互
2016/10/21 PHP
PHP实现的获取文件mimes类型工具类示例
2018/04/08 PHP
PHP数组array类常见操作示例
2020/05/15 PHP
Nigma vs Liquid BO3 第一场2.13
2021/03/10 DOTA
基于JQuery的日期联动实现代码
2011/02/24 Javascript
在jquery中处理带有命名空间的XML数据
2011/06/13 Javascript
JavaScript实现网页图片等比例缩放实现代码及调用方式
2013/02/25 Javascript
js的.innerHTML = ""IE9下显示有错误的解决方法
2013/09/16 Javascript
node.js中的fs.fchownSync方法使用说明
2014/12/16 Javascript
js获取数组的最后一个元素
2015/04/14 Javascript
jQuery实现美观的多级动画效果菜单代码
2015/09/06 Javascript
angular ngClick阻止冒泡使用默认行为的方法
2016/11/03 Javascript
Nodejs中使用puppeteer控制浏览器中视频播放功能
2019/08/26 NodeJs
webpack4 optimization使用总结
2019/11/10 Javascript
Python中扩展包的安装方法详解
2017/06/14 Python
Python实现返回数组中第i小元素的方法示例
2017/12/04 Python
Python绘制七段数码管实例代码
2017/12/20 Python
Python3+django2.0+apache2+ubuntu14部署网站上线的方法
2018/07/07 Python
Python实现八皇后问题示例代码
2018/12/09 Python
Python实现数据结构线性链表(单链表)算法示例
2019/05/04 Python
解决Django Static内容不能加载显示的问题
2019/07/28 Python
Python GUI学习之登录系统界面篇
2019/08/21 Python
Python MongoDB 插入数据时已存在则不执行,不存在则插入的解决方法
2019/09/24 Python
Python的赋值、深拷贝与浅拷贝的区别详解
2020/02/12 Python
Pycharm安装并配置jupyter notebook的实现
2020/05/18 Python
简述 Python 的类和对象
2020/08/21 Python
详解Python中list[::-1]的几种用法
2020/11/16 Python
《莫高窟》教学反思
2014/02/25 职场文书
小学生开学第一课活动方案
2014/03/27 职场文书
2014副局长群众路线对照检查材料思想汇报
2014/09/22 职场文书
查摆问题自查报告范文
2014/10/13 职场文书