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 相关文章推荐
Cython 三分钟入门教程
Sep 17 Python
Python使用Matplotlib实现Logos设计代码
Dec 25 Python
Flask web开发处理POST请求实现(登录案例)
Jul 26 Python
分析python请求数据
Aug 19 Python
Pyqt5如何让QMessageBox按钮显示中文示例代码
Apr 11 Python
Python实现的栈、队列、文件目录遍历操作示例
May 06 Python
python3 pygame实现接小球游戏
May 14 Python
pandas分区间,算频率的实例
Jul 04 Python
Flask框架学习笔记之表单基础介绍与表单提交方式
Aug 12 Python
Django2 连接MySQL及model测试实例分析
Dec 10 Python
以SQLite和PySqlite为例来学习Python DB API
Feb 05 Python
Python集合的基础操作
Nov 01 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
Ajax PHP简单入门教程代码
2008/04/25 PHP
PHP安全配置详细说明
2011/09/26 PHP
linux中cd命令使用详解
2015/01/08 PHP
PHP实现批量上传单个文件
2015/12/29 PHP
php实现概率性随机抽奖代码
2016/01/02 PHP
PHP基于自定义类随机生成姓名的方法示例
2017/08/05 PHP
Thinkphp5+plupload实现的图片上传功能示例【支持实时预览】
2019/05/08 PHP
tp5 实现列表数据根据状态排序
2019/10/18 PHP
Mootools 1.2教程 定时器和哈希简介
2009/09/15 Javascript
javascript定时变换图片实例代码
2013/03/17 Javascript
深入理解JavaScript系列(30):设计模式之外观模式详解
2015/03/03 Javascript
jQuery zTree加载树形菜单功能
2016/02/25 Javascript
jQuery侧边栏实现代码
2016/05/06 Javascript
使用CSS+JavaScript或纯js实现半透明遮罩效果的实例分享
2016/05/09 Javascript
js实现添加可信站点、修改activex安全设置,禁用弹出窗口阻止程序
2016/08/17 Javascript
Vue如何引入远程JS文件
2017/04/20 Javascript
Vue 父子组件数据传递的四种方式( inheritAttrs + $attrs + $listeners)
2018/05/04 Javascript
vue下拉菜单组件(含搜索)的实现代码
2018/11/25 Javascript
微信小程序bindinput与bindsubmit的区别实例分析
2019/04/17 Javascript
js中值引用和地址引用实例分析
2019/06/21 Javascript
python方向键控制上下左右代码
2018/01/20 Python
Python贪心算法实例小结
2018/04/22 Python
详解用python实现基本的学生管理系统(文件存储版)(python3)
2019/04/25 Python
Python两台电脑实现TCP通信的方法示例
2019/05/06 Python
200行python代码实现2048游戏
2019/07/17 Python
python的re模块使用方法详解
2019/07/26 Python
django+echart数据动态显示的例子
2019/08/12 Python
关于pandas的离散化,面元划分详解
2019/11/22 Python
详解Python在使用JSON时需要注意的编码问题
2019/12/06 Python
Python列表操作方法详解
2020/02/09 Python
django 多数据库及分库实现方式
2020/04/01 Python
python中怎么表示空值
2020/06/19 Python
班组长工作职责
2013/12/25 职场文书
前台文员岗位职责
2013/12/28 职场文书
书法兴趣小组活动总结
2014/07/07 职场文书
2016应届毕业生就业指导课心得体会
2016/01/15 职场文书