Python常用模块
liuzh(少昊)
机器学习工程师,python研发工程师
展开
-
supervisor安装使用
安装 pip install supervisor配置### 首先切换到root用户sudo su root### 生成配置文件,且放在/etc目录下echo_supervisord_conf > /etc/supervisord.conf ###为了不将所有新增配置信息全写在一个配置文件里,这里新建一个文件夹,每个程序设置一个配置文件,相互隔离mkdir /...原创 2020-04-23 19:50:13 · 1896 阅读 · 0 评论 -
pycharm 快速导包/导包快捷键
alt + 回车原创 2020-04-10 15:00:01 · 22363 阅读 · 1 评论 -
元类实现单例模式
# -*- coding:utf-8 -*-class Singleton(type): """ 单例模式 e.g. #Python2 class MyClass(BaseClass): __metaclass__ = Singleton #Python3 class MyClass(BaseClass, ...原创 2019-12-19 22:34:47 · 273 阅读 · 0 评论 -
通俗理解@functools.wraps()
功能Python装饰器(decorator)在实现的时候,被装饰后的函数其实已经是另外一个函数了(函数名等函数属性会发生改变),为了不影响,Python的functools包中提供了一个叫wraps的decorator来消除这样的副作用。写一个decorator的时候,最好在实现之前加上functools的wrap,它能保留原有函数的名称和函数属性不加wrapsdef my_decorato...转载 2019-12-17 20:03:22 · 14478 阅读 · 2 评论 -
python中去除字符串中空格,换行问题
先来说说空格问题吧!如果字符串之间都是标准空格那就很好办了。一句话搞定str = str.replace(" ", "")但是往往有一些情况是,空格不定长,这样上述办法就不好处理了。举个例子:def main(): str = '智普信科技 智能安防云 首页 产品与服务 产品展示 Safirst/初柜 ...原创 2019-07-23 16:29:25 · 3483 阅读 · 1 评论 -
提取html网页正文信息
最近陆陆续续尝试了一些解析html的方法,场景不同,说不好孰优孰劣,请自行选择版本一(goose):py2版本: https://github.com/grangier/python-goosepy3版本:https://github.com/goose3/goose3版本二(boilerpipe):https://github.com/misja/python-boilerpipe版...原创 2019-06-11 18:52:35 · 3638 阅读 · 0 评论 -
解决终端运行代码导包问题ModuleNotFoundError: No module named 'qmp'
问题简述:pycharm运行没有问题的代码,终端运行提示 提示导包问题先来看看目录结构执行命令cd ....../BlueRunSpider/qmp/function/spider/goose3_GASPpython3 main.py 错误信息Traceback (most recent call last): File "main.py", line 4, in <m...原创 2019-06-21 11:12:24 · 3949 阅读 · 1 评论 -
Xpath根据标签包裹的内容定位标签
需求:根据内容 “北京” 定位span标签,然后点击xpath语法:self.driver.find_element_by_xpath('//span[contains(text(), "北京")]').click()原创 2019-06-21 10:52:21 · 2405 阅读 · 0 评论 -
Python爬虫解决乱码问题
问题原因:爬取的所有网页无论何种编码格式,都转化为utf-8格式进行存储,与源代码编码格式不同所以出现乱码。目前大部分都是utf-8格式或者ISO-8859-1,一部分是gbk格式(会出现乱码),国内网页还没有看到别的编码格式,欢迎补充指正!简单科普一下: UTF-8通用性比较好,是用以解决国际上字符的一种多字节编码,它对英文使用8位(即一个字节),中文使用24位(三个字节)来编码。U...原创 2019-06-04 12:08:30 · 4687 阅读 · 0 评论 -
查看网页源码的编码格式
需求:解析网页数据时偶尔会出现乱码,这是由于编码格式不对导致的,这时我们就需要知道网页源码的编码方式解决办法:以http://stock.jrj.com.cn/2018/12/04000025448047.shtml为例使用谷歌浏览器打开网页右键—>检查点击Console输入document.charset,然后回车运行结果...原创 2019-06-03 13:04:39 · 6344 阅读 · 0 评论 -
Python中去除html中的标签,css(style样式)
需求:获取公司官网数据question1:部分网站是通过js动态加载的,如果直接只用requests.get(url),就会出现获取信息不全的问题,举个例子:import requestsdef main(): r = requests.get('https://www.tee.com/index') print(r.text)if __name__ == '__ma...原创 2019-07-23 13:52:43 · 6419 阅读 · 2 评论 -
python中解析html中的meta(title,description,keywords)信息
html中的meta信息往往包含title,description,keywords,下面通过BeautifulSoup来解析meta信息from bs4 import BeautifulSoupfrom selenium import webdriverdef main(): driver = webdriver.Chrome() driver.get('https:/...原创 2019-07-23 14:21:00 · 3609 阅读 · 1 评论 -
通过url上传图片到oss
通过图片原始url请求图片然后上传到oss中并返回图片新的urlimport ioimport requestsimport oss2'''funtion: 传入image_url和oss文件夹名,上传image到oss,返回新的image_url和状态码'''auth = oss2.Auth('<>', '<>')endpoint = '<>...原创 2019-08-05 14:11:09 · 4227 阅读 · 0 评论 -
crontab定时任务实例
需求:每天早上6点运行DailyUpdate.py文件将文件的运行流程写成一个shell脚本DailyUpdate.py所在的路径是/home/BlueRunSpider/qmp/function/API/function/qmp_original_data_build/update/# 创建shell脚本cd /home/BlueRunSpider/qmp/function/API/...原创 2019-08-08 13:41:09 · 310 阅读 · 0 评论 -
Python发送邮件(smtplib)
import smtplib #加载smtplib模块from email.mime.text import MIMETextfrom email.utils import formataddrimport timemy_sender='发件人邮箱账号' #发件人邮箱账号my_password = '发件人邮箱密码'my_user=['收件人邮箱账号1', '收件人邮箱账号2']...原创 2019-08-19 15:36:32 · 905 阅读 · 0 评论 -
python中使用进度条
运行代码:import timefrom tqdm import tqdmfor i in tqdm(range(5000)): time.sleep(0.01)效果: 25%|██▌ | 1263/5000 [00:14<00:43, 85.34it/s]原创 2019-08-19 18:43:31 · 211 阅读 · 0 评论 -
笔试中python3的标准输入
举个例子:输入1 2 3 4获取输入值List = []try: while True: line = sys.stdin.readline().strip() if line == "": break lines = line.split() List.append([int(lines...原创 2019-09-07 19:48:10 · 1295 阅读 · 0 评论 -
可视化python执行过程
http://www.pythontutor.com/原创 2019-09-12 17:29:34 · 1277 阅读 · 0 评论 -
python获取当前时间
python3获取当前时间import timedef deal(): # 获取当前时间 格式:%Y.%m.%d print(time.strftime('%Y.%m.%d', time.localtime(time.time()))) # 获取当前时间 格式:%Y.%m.%d %H:%M:%S print(time.strftime('%Y.%m....原创 2019-04-17 13:19:12 · 2905 阅读 · 0 评论 -
python中的赋值,浅拷贝,深拷贝
和很多语言一样,Python中也分为简单赋值、浅拷贝、深拷贝这几种“拷贝”方式。 在学习过程中,一开始对浅拷贝理解很模糊。不过经过一系列的实验后,我发现对这三者的概念有了进一步的了解。 一、赋值 赋值算是这三种操作中最常见的了,我们通过一些例子来分析下赋值操作: str例 >>> a = 'hello'>>&...转载 2019-01-20 23:18:31 · 151 阅读 · 0 评论 -
python中list和str互转,方便数据库存取
需求:list转str然后保存到数据库,取出来再转化为list使用def deal(): # 假设a需要保存到mysql a = [0, 1, 0, 0, 1] b = ','.join([str(x) for x in a]) # 转化为str直接写入到mysql print("b:", b) c = [int(i) for i in (b.split...原创 2019-01-21 10:38:06 · 3423 阅读 · 0 评论 -
pycharm中批量替换
ctrl/command + f 搜索ctrl/command + r 批量替换原创 2019-02-18 13:37:12 · 5288 阅读 · 0 评论 -
python爬虫拖动滚动条到底部/顶部/指定元素处
# 将滚动条移动到页面的底部js = &amp;quot;var q=document.documentElement.scrollTop=100000&amp;quot;self.driver.execute_script(js)原创 2019-02-18 13:45:29 · 5282 阅读 · 3 评论 -
python逐行写入到csv文件
def deal(): ulist = ['一', '二', '三', '四', '五', '六'] # 保存数据到csv文件 new_item_csv = 'week' with open('{}.csv'.format(new_item_csv), 'w', encoding='utf-8', newline='') as f: writer =...原创 2019-02-18 14:05:11 · 20193 阅读 · 3 评论 -
python取出文本中含有指定关键词的行并修改为指定内容
需求:修改’config.py’ 文件中的’ID_NUM = 22’ 为 ‘ID_NUM = 11’原始数据PROJUCT_POSITIONS_NUMBER = 0FUNCTION_POSITIONS_NUMBER = 0# 新增的数据id从多少开始(方便筛选要处理的数据)ID_NUM = 22处理过程def main(): with open("config.py",...原创 2019-02-28 16:36:28 · 15848 阅读 · 2 评论 -
crontab定时任务的安装和使用
安装sudo apt-get install cron启动sudo service cron start假设待运行文件为demo.py,写一个run.sh脚本运行demo.py#!/bin/bash# 上面中的 #! 是一种约定标记, 它可以告诉系统这个脚本需要什么样的解释器来执行;echo "run, demo!"cd /demo.py所在文件夹/ # ...原创 2019-02-25 17:40:20 · 332 阅读 · 0 评论 -
Python+Pandas读取excel一列或者多列保存为列表
excel内容1. 读取一列保存为list,项目名称为例:import pandas as pddef excel_one_line_to_list(): df = pd.read_excel("/Users/Devintern/Documents/pachong/ML_flow/pachong/qmp/files/投资事件导出20190303.xlsx", usecols=[...原创 2019-03-05 12:38:16 · 128708 阅读 · 26 评论 -
python中使用selenium打开保存在本地的html页面
from selenium import webdriverdef login(): driver = webdriver.Chrome() driver.get("file:///Users/Devintern/Documents/pachong/ML_flow/pachong/yx/files/yx.html")if __name__ == '__main__': ...原创 2019-03-04 10:48:35 · 12798 阅读 · 2 评论 -
python 获取昨天,前天,一周前,或者N天前的日期
from datetime import datetime, datefrom datetime import timedeltadef get_date(days=n): # 格式化为 年月日 形式 2019-02-25 print((date.today() - timedelta(days=days)).strftime("%Y-%m-%d")) #...原创 2019-03-04 11:07:08 · 9994 阅读 · 0 评论 -
python中 date, datetime, str之间的相互转化
from datetime import datetime, datefrom datetime import timedeltadef transform(): # 获取上周时间 类型是str last_week = (date.today() - timedelta(days=7)).strftime("%Y-%m-%d") print(type(l...原创 2019-03-04 16:39:30 · 7943 阅读 · 0 评论 -
python中使用Requests发送post请求
需求:根据接口文档请求数据1:假设接口文档内容如下接口地址:http://open.api.....请求方式:post请求参数说明:token:050dbeb9d48b9f12fdf17e677d078a..src:brproduct:项目名company:公司名2:发送请求import requestsdef deal(project_name, company_nam...原创 2019-03-11 13:19:33 · 5034 阅读 · 0 评论 -
python 获取两个时间段之间的每一天的list(月日为个位数的情况,包含0/不包含0)
1. 需求:获取两个时间段之间的每一天的list(月日为个位数的情况,包含0)import pandas as pdimport datetime, timedef deal(begin_date, end_date): date_list = [] begin_date = datetime.datetime.strptime(begin_date, "%Y.%m.%d...原创 2019-03-15 20:47:47 · 1695 阅读 · 0 评论 -
python+pandas 保存list到本地excel
import pandas as pddef deal(): # 列表 company_name_list = ['腾讯', '阿里巴巴', '字节跳动', '腾讯'] # list转dataframe df = pd.DataFrame(company_name_list, columns=['company_name']) # 保存到本...原创 2019-03-12 21:17:28 · 72873 阅读 · 5 评论 -
一文读懂Python装饰器,这是一个会打扮的装饰器
一文读懂Python装饰器,这是一个会打扮的装饰器转载 2019-04-10 16:33:44 · 156 阅读 · 0 评论 -
Python代码写得丑怎么办?推荐几个神器拯救你
jupyter notebook pycharm 变量命名统统搞定https://mp.weixin.qq.com/s/ZTkcY8hCVdMeVUnC7QQnEw转载 2019-03-28 13:19:08 · 122 阅读 · 0 评论 -
如何创建虚拟环境
为什么要搭建虚拟环境?在开发过程中, 当需要使用python的某些工具包/框架时需要联网安装比如联网安装Flask框架flask-0.10.1版本sudo pip install flask==0.10.1提示:使用如上命令, 会将flask-0.10.1安装到/usr/local/lib/python2.7/dist-packages路径下问题:如果在一台电脑上, 想开发多个...原创 2019-04-12 10:36:49 · 3405 阅读 · 0 评论 -
python 统计列表(list)中元素出现的次数,并排序
from collections import Countera = ['主营业务:', 'O2O', '车主服务', '驾考培训', '互联网驾考', '汽车交通支撑服务', '汽车交通支撑服务', '汽车交通支撑服务', '汽车交通支撑服务', '驾考培训', '驾考培训', '主营业务:']# 统计词频result = Counter(a)print(result)# 排序d ...原创 2019-01-07 10:44:19 · 19226 阅读 · 0 评论