今天分享的硬核知识是关于一些常用python知识的整合,很多时候我们都能用到,但是用完就忘,我在这里给大家整合一下,希望对大家有所帮助。
今天讲的主要内容:
1.python打包exe说明文档
2.python模块快速下载
3.scrapy项目的创建过程
4.matplotlib 设置中文字体
5.从其他文件夹下调用函数
1.python打包exe说明文档
pyinstaller模块一般在打包python文件用的比较多,就选了这个。
首先在D盘(我一般建立在d盘)创建文件pyinstaller,
(如果没有pyinstaller模块,pip install pyinstaller,
如果pip无法下载,还请往下看python模块快速下载部分)
在文件中放入a.ico图片和代码b.py
注意需要ico格式图片
个人公众号 yk 坤帝
后台回复 b站视频下载 获取b站视频下载扩展程序
需要 .ico格式下载应用程序的私聊
**在命令窗口打开D盘,cd pyinstaller**
dir 查看文件相关信息
pyinstaller -F -i ./a.ico b.py
pyinstaller 选项:
-F:打包为单文件
-w:Windows程序,不显示命令行窗口。
这在GUI界面时非常有用。
-i:是程序图标,app.py是你要打包的py文件
-p:表示你自己自定义需要加载的类路径,一般情况下用不到
2.python模块快速下载
注:由于用的window系统,主要介绍在windows系统下的安装。
Windows:
windows系统
进入命令行窗口 win+r
1.pip install 模块
国外镜像源 下载速度慢
2.pip install -i https://pypi.tuna.tsinghua.edu.cn/simple 模块
国内清华镜像源 下载速度快
3.http://pypi.douban.com/simple/ 模块
国内豆瓣镜像源 下载速度快
4.https://pypi.mirrors.ustc.edu.cn/simple/ 模块
阿里云
5.https://pypi.tuna.tsinghua.edu.cn/simple/
中科大
如果你那儿的网络总是不给力,又不想每次手动添加,可以加在配置文件里一劳永逸。
3.scrapy项目的创建过程
在爬虫项目中用的比较多的框架scrapy,对初学者十分友好,强烈推荐,我在长时间不用scrapy做爬虫之后,很容易忘记,就随手记下来了。
也有一些进阶的,用到的时候可以看一下。
1.定位到相应文件夹
Windows:
windows系统
进入命令行窗口 win+r
2.scrapy startproject 项目
3.cd 项目
scrapy genspider 名称 www.xxx.com
基于CrawlSpider爬虫父类的创建
scrapy genspider -t crawl 名称 www.xxx.com
分布式爬虫:
执行工程 scrapy runspider xxx.py
4.matplotlib 设置中文字体
使用过matplotlib的都知道,它对中文很不友好,只要是中文就是乱码,解决的方法也不少,解决的方法也不少,我一般不用那些(主要不想看,配置比较麻烦),简单粗暴,输入几行代码,全部解决。
matplotlib中默认中文不显示
为什么无法显示中文:
matplotlib默认不支持中文字符,因为默认的英文字体无法显示汉字
那么问题来了:如何修改matplotlib的默认字体?
通过matplotlib.rc可以修改,具体方法参见源码(windows/linux)
通过matplotlib 下的font_manager可以解决
简单粗暴直接
输入代码
from matplotlib import pyplot as plt
plt.rcParams['font.family'] = ['sans-serif']
plt.rcParams['font.sans-serif'] = ['SimHei']
5.从其他文件夹下调用函数
调用函数一般从同一文件夹下调用的,我感觉比较麻烦(当时爬虫用的多,ip被封的厉害,就做了个ip代理池,现用现爬ip代理),从不同文件下调用,可以在要调用的函数的文件夹下创建__init__文件夹。(网上讲的调用函数主要是在同一文件夹下调用,当时还花了老长时间)
import sys
import os
o_path = os.getcwd()
sys.path.append(o_path)
from 代理池 import ip代理池
两个文件夹在同一根文件夹下
1.
o_path = os.getcwd()
获得根文件夹的路径
2.
sys.path.append(o_path)
添加路径
3.
from 代理池 import ip代理池