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文件中的 任意 一个自定义函数。
假如调用FileWriteAbout.py文件中的函数writeList():
直接在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只引入模块并不能直接调用该模块的函数
如下图:
这里只引入了recognizer模块,没有直接引入其函数,会报错name 'XXX' is not defined
若想频繁使用某个函数,可以将它赋值给一个本地变量
如:
predict = recognizer.predict clean_captcha = recognizer.clean_captcha get_captcha = recognizer.get_captcha
以上这篇Python 跨.py文件调用自定义函数说明就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。
更新日志
- 伍佰.2002-冬之火九重天演唱会特选录音专辑2CD【滚石】【WAV+CUE】
- 李宗盛1996《李宗盛的凡人歌2CD》滚石[WAV+CUE][1G]
- 刘德华 《天意》1:1直刻黑胶LPCD[WAV+CUE][1.1G]
- 刘德丽2024《赤的疑惑HQCD》头版限量编号MQA[低速原抓WAV+CUE]
- 英雄联盟万圣节有什么皮肤返场 2024万圣节皮肤返场一览
- lol万圣节赠礼活动什么时候开始 2024万圣节活动时间介绍
- 2024全球总决赛blg是全华班吗 全球总决赛blg选手所属国家介绍
- 《LOL》S14半决赛:T1战胜GEN晋级决赛!对决BLG
- 《完蛋美女前传》白白演员抱怨:都没人玩我的线
- 玩家热议OLED屏对画面提升巨大:比PS5 Pro值得买
- PatriciaPaay-TheLadyIsAChamp(ExpandedEdition)(2024)[24Bit-96kHz]FLAC
- 尚士达.2024-莫回头【智慧小狗】【DTS-WAV分轨】
- 区瑞强-黄金时代HQCDII头版限量wav
- 孙露《终于等到你》[WAV分轨][488M]
- 张信哲《歌时代》 潮水音乐 [WAV+CUE]