Python3:我低调的只用一行代码,就导入Python所有库!

发布于 2022-09-22 16:26:12 6260 举报 文章被收录于专栏:毛利学Python

一行代码导入**python**所有库

1、引言

今天我们来分享一个懒人库:Pyforest小屌丝:鱼哥,今天啥情况,你突然分享这个库?小鱼:这不是因为我准备换吃饭的家伙 电脑,为了能省事,少敲几次pip install xxx 的动作… 小屌丝:嗯??你的意思,安装这个库,就不需要安装别的库了?小鱼:必须的~像我这种节约时间的男人… 小屌丝:你能不能好好说话!!!小鱼:…好吧… 通过小屌丝跟小鱼的对话,我们可以大概了解到,Pyforest库是一个万能库,几乎可以说不需要再单独安装别的库。这不就可以把省下的时间来聊妹子了 聊工作了…

代码库0 - 图1

Pyforest到底有没有小鱼说的这么牛叉, 我们继续往下瞅!

2、Pyforest

2.1 Pyforest 介绍

Pyforest是一个开源的Python库,可以自动导入代码中使用到的Python库。 例如:我们在做数据分析时,需要导入多个库,等,这很不方便, 所以,这就有了Pyforest的诞生,使用Pyforest,每个程序文件中就不需要导入相同的Python库,而且也不必使用确切的导入语句。

这是多么省事 操作~

直接代码展示一下:

代码语言:javascript

复制

  1. # -*- coding:utf-8 -*-
  2. # @Time : 2021-07-26
  3. # @Author : carl_DJ
  4. #导入pyforest
  5. import pyforest
  6. #直接调用
  7. df = pd.read_csv('test.csv')
  8. print(df)
这里有3个点,需要了解:
  • 使用的任何库都不需要使用import语句导入,Pyforest会为你自动导入;- 只有在代码中调用库或创建库的对象后,才会导入库;- 如果一个库没有被使用或调用,Pyforest将不会导入它。如果想看Pyforest的源码,直接点击。

**GitHub**还是有不错的标星,关键还是持续更新的。

如下图:

代码库0 - 图2

2.2 Pyforest 安装与使用

2.2.1 安装

老规矩,在使用前,必须要安装。安装方式逃不了 pip方式

代码语言:javascript

复制

  1. pip install pyforest

代码语言:javascript

复制

  1. pip install pyforest -i https://pypi.tuna.tsinghua.edu.cn/simple
安装完,如果import 导入不报错,就说明安装OK了。

2.2.2 使用

安装完成后,我们就要开车 开撸代码!

睡眠质量不好,就容易打错字

我们不导入库,直接导入Pyforest库来使用。

代码语言:javascript

复制

  1. # -*- coding:utf-8 -*-
  2. # @Time : 2021-07-26
  3. # @Author : carl_DJ
  4. import pyforest
  5. #teston.csv是我本地的测试文件
  6. data = pd.read_csv('testone.csv')
  7. print(data)
我们来看下执行结果:

代码库0 - 图3

小屌丝:嘿,鱼哥,别说,还真能执行出来了哈,牛叉了~ 小鱼:这才哪到哪,接着看,继续看它的牛叉 厉害之处…

别的不说,就为了支持新疆棉,我们就来看看国内棉花产量排名,代码如下

代码语言:javascript

复制

  1. # -*- coding:utf-8 -*-
  2. # @Time : 2021-07-26
  3. # @Author : carl_DJ
  4. import pyforest
  5. plt.rcParams['font.flamily'] = 'sans-serif'
  6. #用来显示中文标签
  7. plt.rcParams['font.sans-serif'] = ['Hiragino Sans GB']
  8. #用来正常显示负号
  9. plt.rcParams['axes.unicode_minus'] = False
  10. #设定x轴坐标
  11. x = data.columns.values.tolist()[1:]
  12. numbers_list = data[data['省份'] == '新疆'].values.tolist[0][1:]
  13. #设定Y轴坐标
  14. y = list(map(int,numbers_list))
  15. sns.barplot(x,y)
  16. plt.title('新疆历年棉花产量(万吨)')
  17. plt.show()
看下运行结果:

代码库0 - 图4

小屌丝:唉我去~ 可以啊。小鱼:一般般啦~~ 小屌丝:鱼哥,那我再问你一下,Pyforest有没有提供一些辅助的Python库啊,如:os,re,tqdm… 小鱼:看样子,你还是不知道Pyforest的厉害~ ~

执行代码:查看内置库列表数量

代码语言:javascript

复制

  1. import pyforest
  2. print(len(dir(pyforest)))
  3. for i in dir(pyforest):
  4. print(i)

执行结果

代码语言:javascript

复制

  1. -------------------------
  2. 68
  3. GradientBoostingClassifier
  4. GradientBoostingRegressor
  5. LazyImport
  6. OneHotEncoder
  7. Path
  8. RandomForestClassifier
  9. RandomForestRegressor
  10. SparkContext
  11. TSNE
  12. TfidfVectorizer
  13. ...

小鱼:小屌丝,怎么样,内置库有68个,这会知道Pyforest的厉害了吧~ 小屌丝:Nice,Nice,Nice啊 ~ 小鱼:一般般啦~ 小屌丝:别装X,那Pyforest还有什么技能,继续展示。小鱼:… 巴拉巴拉说一堆(省略十万字)… 等着!!

代码库0 - 图5

Pyforest还提供了一些函数来了解库的使用情况: 返回已导入并且正在使用的库列表 执行代码 代码语言:javascript

复制

  1. print(pyforest.active_imports())

执行结果

代码语言:javascript

复制

  1. ['import pandas as pd', 'import requests as req', 'import pyg2plot']
返回pyforest中所有Python库的列表 执行代码 代码语言:javascript

复制

  1. print(pyforest.lazy_imports())

执行结果

代码语言:javascript

复制

  1. ['import glob', 'import numpy as np', 'import matplotlib.pyplot as plt'...]

代码库0 - 图6

小鱼:小屌丝,这回该满足了吧~ 小屌丝:满足??不知道我的饭量吗??小鱼:…你走吧~ 以后不联系的那种!小屌丝