懒人python操作,代码中永远只需要导入一个库

Pyforest是一个开源的Python库,可以自动导入代码中使用到的Python库。

【阅读全文】

实话说,作为一个程序员还是得不停的学习呀。昨天晚上睡觉之前就在论坛上面溜达了一会儿,发现了有个叫pyforest的python非标准库可以自动导入代码中使用到的Python库,我竟然还不知道。

所以,我迫不及待地想要测试它,它真的拯救了我们这些懒人。整个故事已经讲清楚了,然后我们就开门见山了。

[En]

So, I couldn’t wait to test it, and it really saved us lazy people. The whole story has been made clear, and then we will get straight to the point.

将Pyforest安装一下,粉丝朋友都知道我一直用的都是pip的安装方式。

pip install pyforest -i https://pypi.tuna.tsinghua.edu.cn/simple

我们使用pandas这个python库来验证一下。将pyforest导入到我们的代码块中。

import pyforest

然后,拿出我以前做数据测试的一个excel文件,文件的内容如下:

懒人python操作,代码中永远只需要导入一个库

看一下在不直接导入pandas库的情况下,能不能准确的将数据读取出来。

data_frame = pd.read_excel('C:/data.xlsx')

print(data_frame)  # 打印读取效果

   姓名  年龄    班级  成绩
0  王城  19  1701  89
1  刘峰  20  1702  92
2  吴磊  19  1701  90
3  温涛  20  1702  76

OK,结果正常读取出来了。

原理就是,在使用pandas读取excel数据的时候,这个pandas库已经被导入进来了。

import pandas as pd

但是在开发工具中pd这个对象是没有被定义的,所以在开发工具中会认为这是个错误。但是不影响,在程序运行的时候会根据pyforest自动import的。

在上面的程序运行没有问题的情况下,可以使用pyforest库中的函数查看一下被导入的非标准库有哪些。

print(pyforest.active_imports())  # 打印一下导入的非标准库

['import pandas as pd']

同样的,还可以查看一下pyforest导入了哪些python标准库(也就是python中的内置库)

list_ = [n for n in dir(pyforest)]

print(f'python内置库的总数是:{str(len(list_))}')
python内置库的总数是:105

print(list_)

['ARIMA', 'CountVectorizer', 'ElasticNet', 'ElasticNetCV', 'GradientBoostingClassifier',
'GradientBoostingRegressor', 'GridSearchCV', 'Image', 'KFold', 'KMeans', 'LabelEncoder',
'Lasso', 'LassoCV', 'LazyImport', 'LinearRegression', 'LogisticRegression', 'MinMaxScaler',
'OneHotEncoder', 'PCA', 'Path', 'PolynomialFeatures', 'Prophet', 'RandomForestClassifier',
'RandomForestRegressor', 'RandomizedSearchCV', 'Ridge', 'RidgeCV', 'RobustScaler', 'SimpleImputer',
'SparkContext', 'StandardScaler', 'StratifiedKFold', 'TSNE', 'TfidfVectorizer', '__builtins__',
'__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__path__',
'__spec__', '__version__', '_importable', '_imports', '_jupyter_labextension_paths',
'_jupyter_nbextension_paths', 'active_imports', 'alt', 'bokeh', 'cross_val_score', 'cv2', '
dash', 'dd', 'dt', 'fastai', 'fbprophet', 'gensim', 'get_user_symbols', 'glob', 'go',
'import_symbol', 'imutils', 'install_extensions', 'install_labextension', 'install_nbextension',
'keras', 'lazy_imports', 'lgb', 'load_workbook', 'metrics', 'mpl', 'nltk', 'np', 'open_workbook',
'os', 'pd', 'pickle', 'plt', 'px', 'py', 'pydot', 'pyforest_imports', 're', 'sg', 'skimage',
'sklearn', 'sm', 'sns', 'spacy', 'statistics', 'stats', 'svm', 'sys', 'textblob', 'tf', 'torch',
'tqdm', 'train_test_split', 'user_specific_imports', 'user_symbols', 'utils', 'wr', 'xgb']

懒人python操作,代码中永远只需要导入一个库

【往期精彩】

自动化办公:手机号码提取程序,使用正则表达式轻松从文本文件中提取手机号码。

[En]

Automated office: mobile phone number extractor, using regular expressions to easily extract mobile phone numbers from text files.

刚刚发现的可视化动态图库ipyvizzu,太好看了!

记住这些windows网络操作命令,轻松搞定自己的电脑网络!

word文档样式批量处理,久违了!

python 如何在多层循环中使用break/continue!

Original: https://www.cnblogs.com/lwsbc/p/16364675.html
Author: Python集中营
Title: 懒人python操作,代码中永远只需要导入一个库

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/499411/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球