当前位置: 首页 > 后端技术 > Python

懒惰的python操作,代码总是只需要导入一个库

时间:2023-03-26 13:22:33 Python

Pyforest是一个开源的Python库,可以自动导入代码中用到的Python库。[阅读全文]说实话,作为程序员,还是要不断学习的。昨晚睡觉前在论坛逛了一会儿,发现有个python非标准库叫pyforest,可以自动导入代码中用到的Python库。我什至不知道。因此,我迫不及待地对其进行了测试并且它起作用了。真是拯救了我们这些懒人。事情的来龙去脉都弄清楚了,接下来我们就直接进入正题。安装Pyforest,爱好者朋友都知道,我一直使用pip安装方式。pipinstallpyforest-ihttps://pypi.tuna.tsinghua.edu.cn/simple我们使用python库pandas来验证。将pyforest导入我们的代码块。importpyforest然后,取出一个我用来做数据测试的excel文件。文件内容如下:看看在不直接导入pandas库的情况下,能不能准确读取数据。data_frame=pd.read_excel('C:/data.xlsx')print(data_frame)#打印阅读效果#姓名年龄班级#0王城19170189#1刘峰20170292#2吴磊19170190#3文涛20170276OK,结果读取正常。原理是在使用pandas读取excel数据时,已经导入了pandas库。importpandasaspd但是开发工具中没有定义pd对象,所以会认为是开发工具出错。不过没关系,程序运行的时候会根据pyforest自动导入。当上述程序运行没有问题时,可以使用pyforest库中的函数查看导入了哪些非标准库。print(pyforest.active_imports())#打印导入的非标准库#['importpandasaspd']同样也可以查看pyforestlist_导入了哪些python标准库(即python中的内置库)=[nfornindir(pyforest)]print(f'python内置库总数为:{str(len(list_))}')#python内置库总数为:105print(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'][往期精彩]办公自动化:移动电话号码提取器,使用正则表达式轻松提取文本文件中的手机号码……刚刚发现的视觉动态图库ipyvizzu太美了!记住这些windows网络操作命令,轻松搞定自己的电脑网络!Word文档风格的批处理,好久不见!如何在python的多层循环中使用break/continue!