当前位置: 首页 > 科技观察

仅用一行代码导入所有Python库?

时间:2023-03-14 09:34:51 科技观察

今天给大家介绍一个Python懒人库——Pyforest。只需一行代码,即可导入所有Python库(本地安装)。GitHub地址:https://github.com/8080labs/pyforest01简介Python之所以非常流行,是因为它拥有上千个强大的开源库。目前,通过PyPl可以导入超过235,000个Python库,这是一个庞大的数字。在我们平时的实践中,一般需要导入多个库或者框架来执行任务。并且每当你创建一个新的程序文件时,你都需要根据你的需要导入相关的库。如果是同类型的任务,比如想做一个数据可视化的小项目,可能总是用到某个库。这样,重复写同一个import语句,即使是复制粘贴,也会觉得麻烦。这时候Pyforest库就可以玩了。Pyforest是一个开源的Python库,可以自动导入代码中使用的Python库。在进行数据可视化时,一般需要导入多个库,如pandas、numpy、matplotlib等。使用Pyforest,不需要在每个程序文件中导入相同的Python库,也不必使用完全相同的导入语句。例如,下面这行代码可以省略。fromsklearn.ensembleimportRandomForestClassifier使用import语句导入Pyforest库后,可以直接使用所有Python库。importpyforestdf=pd.read_csv('test.csv')print(df)您使用的任何库都不需要使用import语句导入,Pyforest会自动为您导入。只有在代码中调用库或创建库的对象后,才会导入库。如果一个库没有被使用或调用,Pyforest将不会导入它。02Install使用如下命令安装Pyforest。pipinstallpyforest-ihttps://pypi.tuna.tsinghua.edu.cn/simple安装成功后,使用import语句导入。现在,您可以直接使用相关的Python库,而无需编写导入。我们以jupiternotebook为例。我们没有导入pandas、seaborn和matplotlib库,但是我们可以通过导入Pyforest库直接使用它们。从数据上看,这是全国棉花产量前三的省份,新疆位居全国第一(数据来源:国家统计局)。那么Pyforest可以导入所有的库吗?目前这个包包含了大部分流行的Python库,比如:pandasaspdNumPyasnpmatplotlob.pyplotaspltseabornassns除了这些库之外,它还提供了一些辅助的Python库,比如os、tqdm、re等。如果你想查看库列表,可以使用dir(pyforest)查看,内置库有68个。importpyforestprint(len(dir(pyforest)))foriindir(pyforest):print(i)------------------------68GradientBoostingClassifierGradientBoostingRegressorLazyImportOneHotEncoderPathRandomForestClassifierRandomForestRegressorSparkContextTSNETfidfVectorizer...如果无如果是这样,您可以进行自定义添加并将导入语句写入主目录中的文件。例子如下。vim~/.pyforest/user_imports.py增加一条语句,这里可以在代码中使用requests库。#Addyourimportshere,linebyline#e.g#importpandasaspd#frompathlibimportPath#importreimportrequestsasreq~~"~/.pyforest/user_imports.py"7L,129C这次我们将在PyCharm中进行实验。发现PyCharm的自动补全功能失效了。好像这个库更适合jupyternotebook(自动补全代码也可以)。除了以上地方可以自定义添加外,也可以在库的_import.py文件中添加。这里以Pyechars为例,简称chart。可视化代码如下:新疆棉花产量逐年增加,其他省份逐年减少……最后,Pyforest还提供了一些函数,可以了解库的使用情况。#返回已经导入和正在使用的库列表print(pyforest.active_imports())-------------------------------['importpandasaspd','importrequestsasreq','importpyg2plot']#返回pyforest中所有Python库的列表print(pyforest.lazy_imports())-------------------------------['importglob','importnumpyasnp','importmatplotlib.pyplotasplt'...]只有代码中使用的库才会被程序导入,否则会不能进口哦!03有了结语,本期的分享就结束了。使用Pyforest库有时可以节省一些时间,但也有缺点。比如调试的时候(大型项目),可能会很痛苦,不知道库是从哪里来的。所以建议大家在一些独立的脚本程序中使用,效果应该不错。

猜你喜欢