自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

彳亍的技术博客

主要分享Python、GIS、人工智能等领域文章

  • 博客(97)
  • 收藏
  • 关注

原创 【PyCharm】Terminal终端命令行Shell设置

PyCharm 终端设置cmd

2022-07-29 19:55:09 2229

原创 【Gunicorn】Gunicorn安装&相关配置&脚本

Gunicorn安装Gunicorn常用配置Gunicorn获取用户真实IPGunicorn用户访问日志

2021-11-22 21:29:57 3483

原创 【Docker】Docker安装及配置

Docker官网1 CentOS安装 & 卸载Docker【重要】: CentOS版本要求 >= CentOS71.0 删除旧版本的Docker(如果没有安装过,请跳过此步)yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-lates

2021-11-18 09:54:33 121

原创 【Docker】Docker命令整理&示例

没有示例的命令,将 container_name/image_name进行对应替换.docker中有REPOSITORY, TAG, IMAGE,CONTAINER的概念docker命令中的镜像名,容器名 支持使用Tab键进行联想1 Docker容器docker中默认的命令是对容器进行操作 ,现在看到容器相关的命令是默认没有container的。简单举例: docker run是docker container run的简写。1.1 docker run 运行一个新的容器# 参数说明## .

2021-10-30 21:26:42 311 1

原创 【ArcGIS】图文攻略:使用ArcGIS将CAD的dwg文件转换为kml格式

本攻略涉及内容是使用ArcGIS将CAD的.dwg文件转换为可以在谷歌地球中打卡的.kmz文件格式。攻略针对小白,会写的比较详细。大佬们直接阅读 Step3和Step4就可以了。Step 1:在ArcGIS中加载.dwg格式文件打开ArcGIS在空包Map中加载数据。下图中的第2步可以快速选择文件夹。导入成功后,ArcGIS会提示Unknown Spatial Reference,不需要理会。直接点击‘OK’。Step 2:将需要的.dwg图层转换为.shp文件。在ArcGIS中,会将点.

2021-10-30 15:13:33 11121 1

原创 【pymysql】操作数据库示例

【pymysql】操作数据库示例

2020-11-04 22:52:21 157

原创 汉字 Unicode编码范围及 计算文本的中文英文字数

汉字Unicode编码范围u4e00~u9fffU+4E00~U+9FA5 是最常用的范围,即名为:CJK Unified Ideographs 的区块,U+9FA6~U+9FFF 之间的字符还属于空码,暂时还未定义,但不能保证以后不会被定义def is_zh(char): """ :param char: 单个字符 :return: """ if u'\u4e00' <= char <= u'\u9fff':

2020-07-23 23:33:33 1485

原创 【hashlib】Python通过hashlib实现sha1, sha224, sha256, sha384, sha512, blake2b 和 blake2s, md5

Hashlib针对不同的安全哈希和消息摘要算法提供一个通用的接口。包括 FIPS 的 SHA1, SHA224, SHA256, SHA384, and SHA512 (定义于 FIPS 180-2) 算法,以及 RSA 的 MD5 算法( 定义于 Internet RFC 1321)。较旧的算法被称为消息摘要,现代术语是安全哈希。支持的hash算法可以直接通过点的方式进行调用,支持的算法有:'md5', 'sha1', 'sha224', 'sha256', 'sha384', 'sha512',

2020-07-23 23:08:53 636

原创 【html】Python提取html中文本到txt

正则去标签方式# -*- coding: utf-8 -*-import redef html_tag_rm(content: str): dr = re.compile(r'<[^>]+>',re.S) return dr.sub('',content)nltk比较笨重需要安装依赖 nltk, numpy, pyyaml# -*- coding: utf-8 -*-import nltkdef html_tag_rm(content: str): retu

2020-07-22 23:42:46 1804

原创 【chm】Python提取chm数据

需求场景chm格式文档中的内容,提取保存为html方法一 使用在线转换工具或者软件方法二 脚本编译step 1:.bat脚本反编译使用该脚本, 可以将chm文件反编译,类似解压,获取文件。有些文档可以直接转换为txt,有些会转化为html. 这个跟生成chm文件有关系。1 新建txt文档, 参照示例写入命令。保存后文件另存为.bat格式hh -decompile 转换结果输出路径 待转换文件(相对/绝对路径)# 示例hh -decompile D:\Desktop\ 123.ch

2020-07-22 23:25:12 2064

原创 【PyYaml】yml教程 pyyaml库介绍及yml写 yml读取

TODO YamlPyYAML源码: https://github.com/yaml/pyyaml安装# pip命令行安装pip install PyYAML# 下载源码的安装python setup.py install导入import yaml读取yaml文件def read_yaml(yml_file, mode='r', encoding='utf-8'): """ yaml中内容读取并转化为Python对象 :param yml_file: :

2020-06-30 23:01:04 483

原创 【Python CI】圈复杂度 lizard

1. 圈复杂度1.1 什么是圈复杂度?引用[1]圈复杂度是 Thomas J. McCabe 在 1976年开创的软件指标,用来判断程序的复杂度。这个指标度量源代码中线性独立的路径或分支的数量。根据 McCabe 所说,一个方法的复杂度最好保持在10 以下。这是因为对人类记忆力的研究表明,人的短期记忆只能存储 7 件事(偏差为正负 2)。如果开发人员编写的代码有 50 个线性独立的路径,那么为了在头脑中描绘出方法中发生的情况,需要的记忆力大约超过短期记忆容量的 5倍。简单的方法不会超过人的短期记

2020-06-14 17:02:38 3077

原创 【zipfile】Python实现将文件打包为zip压缩包 & 解压

用Python将文件进行压缩,可以使用 zipfile库,提供了非常丰富的API。zipfile本身是上下文管理器, 可以使用with。以下为自己简单写的Demo。import osimport zipfiledef file2zip(zip_file_name: str, file_names: list): """ 将多个文件夹中文件压缩存储为zip :param zip_file_name: /root/Document/test.zip :para

2020-06-13 21:37:10 11436

原创 【Nginx】常见配置方法

nginx.confserver max-content-lengthsite-avalables site-enabled

2020-06-10 22:14:43 477

原创 【NLP】文本语种检测

langidgithub源码:https://github.com/saffsd/langid.py特点支持97中语言滤过速度快准确率高不支持中文繁体(香港),中文繁体(台湾)检测接口 classify rank>>> import langid# classify 输出最可能的语言>>> langid.classify("I do not speak english")('en', 0.57133487679900674)>&gt

2020-06-10 21:52:09 1672

原创 【Nginx】Linux服务中Nginx安装重启启动停止

在Linux中安装的Nginx默认会注册service服务,可直接按照以下操作进行启动,停止和重启

2020-05-31 22:43:28 1875

原创 Python set()集合的内置方法及 差集,并集,交集的实现,集合运算

set集合是一个元素不重复的无序的集合。其中一个用途就是被用来去重。set() 定义# 定义新的空集合的方法, 只有一种, 不能写: {}, {}是空字典的定义创建方法set_a = set()# 非空集合创建set_b = {value0, value1, value2, ...}set_c = set(value0, value1, value2, ...)内置基本操作# 添加set_a.add(x)set_a.remove(x) # 存在删除,不存在会报错set_a.disc

2020-05-31 22:31:04 1915

原创 【数据提取】xml html数据提取—— xpath

1 xml & htmlXML 指可扩展标记语言(eXtensible Markup Language),被设计用来传输和存储数据。HTML 超文本标记语言(HyperText Markup Language)是一种用于创建网页的标准标记语言。1.1 html和xml的区别数据格式描述设计目标XML可扩展标记语言(eXtensible Markup Lang...

2020-05-31 22:05:17 642

原创 【解决方案】Pyinstaller打包exe文件详细教程

在业务场景中, 经常需要Python开发一些小程序/脚本/GUI界面,交付给一些小白或未安装Python 的小伙伴们使用。噔噔蹬蹬pyinstaller 闪亮登场场景说明使用Pyinstaller将Python脚本或者项目打包,生成可执行的.exe文件。Pyinstaller是一个很不错的免费打包工具,支持Windows,Linux和MacOS,完美支持32位和64位系统。pyinstaller安装pip install pyinstaller打包参数# 常用打包参数# -F .

2020-05-27 23:45:54 14523 2

原创 【示例-多任务】Python 协程gevent模块

协程,又称微线程,纤程。协程是Python中另外一种实现多任务的方式, 是比线程占用更小的执行单元。多进程, 多线程, 协程中差异见: 【Python面试场景】进程-线程-协程相关问题汇总gevent是一个强大的并且能够自动切换任务的模块, 是Python的第三方库, 需要单独安装。它使用 greenlet在libev 或libuv事件循环的顶部提供高级同步API 。pip3 install...

2020-05-01 10:25:33 266

原创 【示例-多任务】Python多进程multiprocessing模块

multiprocessing模块就是跨平台版本的多进程模块,提供了一个Process类来代表一个进程对象更多内置方法见 官方文档: multiprocessing — 基于进程的并行1. 进程的创建1.1 创建 & 获取Pidimport osimport timefrom multiprocessing import Processdef run_proc(): ...

2020-04-23 22:59:37 324

原创 【示例-多任务】Python多线程threading模块

Python内置了 threading模块, 是对更底层的thread模块的封装。内置方法见官方文档: threading - 基于线程的并行多线程执行#coding=utf-8import threadingimport timedef thread_test(): print("test.") time.sleep(1)if __name__ == "__ma...

2020-04-22 22:48:30 234

原创 Linux定时任务命令crontab详解及示例

介绍Linux内置了定时任务调度的服务 crontab。系统默认会自动启动, 同时每分钟检查需要执行的任务。定时任务的最小时间单元是分钟。安装# Linux服务默认内置sudo apt-get install cron编辑# 第一次编辑 会提示选择编辑器crontab -e查看当前定时任务crontab -l删除# 删除当前用户的所有定时任务crontab -r#...

2020-04-01 21:16:33 378

原创 【Nginx】python flask项目Nginx代理添加前缀

场景Flask项目中,通过后端渲染了模板。如果只是单纯接口, 只需在blueprint中添加对应的proxy就行。但是涉及很多的内置接口 添加固定的前缀。比如Nginx中配置了代理的 前缀/7000。需要在所有的接口中, 都添加 /7000.如果手动实现, 一是工作量大, 二是不利于后期维护,三是涉及Flask框架内置模板接口的,修改有难度。以下就是一种简便的实现方案解决方案# 封装类...

2020-04-01 20:37:19 1629 1

原创 Python定时任务的几种实现方法

最近需要涉及定时任务, 将涉及定时任务的实现方案进行了整理。大家自取吧。链接内为官方样例TODO 给大家提供示例的实现方案schedPython内置库https://docs.python.org/zh-cn/3/library/sched.htmlschedulehttps://pypi.org/project/schedule/crontabhttps://pypi.org...

2020-04-01 19:36:57 263

原创 Python字典合并 多个字典的之合并为列表示例

# -*- coding: utf-8 -*-"""字典合并 场景说明 输入: 多个 \t分割的文本文件 每个文本文件的两列数据分别代表 x轴数值 y轴数值 多个文件的x轴的数值不连续 输出: 合并的 \t分割的文本文件"""def text_file_write(file_name: str, content_list: lis...

2020-03-05 23:20:50 3735

原创 Python匿名函数lambda说明及示例 字典数字键排序

匿名函数lambda, 你搞清楚 了吗?lambda 函数 形式匿名函数 一般形式lambda arguments: expression函数形式def <lambda>(arguments): return expression通过这个形式, 基本上就知道如何使用了, 以及各个位置的作用示例:场景一有一个键为字符串格式的数字的字典, 需要按...

2020-03-05 23:08:20 614

原创 Ubuntu server树莓派版本默认用户名密码及密码修改

树莓派安装的Ubuntu server镜像, 默认的初始用户及密码:ubuntu # userubuntu # passwd默认信息查看在烧入镜像的内存卡中, 可以查看到默认的用户信息默认密码修改在登录界面 输入初始化的用户名和密码后, 会提示是第一次登录, 需要先输入默认密码之后 , 输两次新设置密码即可重置默认密码成功...

2020-03-04 22:40:29 28624

原创 Python3多种方式虚拟环境创建及激活虚拟环境 退出虚拟环境(未完待续)

为什么需要一个虚拟环境Python官方给出的解释, 简单可以理解为隔离的沙箱环境,多个开发需求不会相互干扰。Python应用程序通常会使用不在标准库内的软件包和模块。应用程序有时需要特定版本的库,因为应用程序可能需要修复特定的错误,或者可以使用库的过时版本的接口编写应用程序。这意味着一个Python安装可能无法满足每个应用程序的要求。如果应用程序A需要特定模块的1.0版本但应用程序B需要2...

2020-03-01 00:45:24 3333

原创 【问题解决】Ubuntu中Python3升级高版本后 Err returned non-zero status 1 或者status 2问题解决

出现问题场景Ubuntn中原有Python3.5,现升级安装Python3.7 之后在多个使用场景下, 出现以下问题:问题1 status 1subprocess.CalledProcessError: Command '('lsb_release', '-a')' returned non-zero exit status 1.问题2 status 2returned non-ze...

2020-03-01 00:28:18 9388 1

原创 Python print在控制台刷新输出不换行

记录coding日常遇到的小Tips问题场景:代码中需要根据情况在控制台输出进度,而且进度输出的次数不一定, 有时会输出很多行。需求:输出日志,只需要在控制台刷新进度值,不需要换行# -*- coding: utf-8 -*-import timedef demo(): print(">>> Start") for i in range(78...

2020-02-29 22:31:35 2286

原创 Python实现九九乘法口诀表及一点扩展 以文本相似度遍历为例

多数人在入门编程语言的时候, 都接触过用代码实现九九乘法口诀表。以便大家尽快熟悉列表的遍历。先手敲一遍正三角形# -*- coding: utf-8 -*-def multiplication_tables(): for i in range(1, 10): for j in range(1, i + 1): print('%d * ...

2020-02-26 23:41:10 297

原创 Python耗费时间秒转 天小时分钟秒 时间格式美化

在工作中经常会遇到将耗时 转换为天小时分秒的情况# -*- coding: utf-8 -*-def seconds_format(time_cost: int): """ 耗费时间格式转换 :param time_cost: :return: """ min = 60 hour = 60 * 60 day = 60 ...

2020-02-26 23:14:34 1541

原创 Python模块之 difflib 文本对比 html文件生成 一致性对比 文本差异对比

Python 内置的 difflib库为计算文本差异, 对比一致性的辅助工具写个小样# -*- coding: utf-8 -*-from pprint import pprintfrom difflib import Differ, SequenceMatcher, HtmlDiffdef diff_compare(in_lines1: list, in_lines2: lis...

2020-02-25 21:47:09 2443

原创 Python生成Wifi二维码 一键联网

前言每次家里来了朋友, 总是要问Wifi密码,你有没有遇到这样的场景:1、现在手机基本都保存了密码,平时不记,经常忘记2、密码设置的比较长,输入比较繁琐3、密码中有时会含有隐私的信息二维码生成现在跟我一起来生成一个Wifi联网二维码吧安装虚拟环境# 安装第三方库 segno# 支持Python2 & Python3pip install segnoWifi名称为...

2020-02-23 15:26:45 1936

原创 Python的Flask项目中获取请求用户IP地址 addr

服务器直接部署Flaskimport loggingfrom flask import Flask, render_template, request# Initialize the Flask applicationapp = Flask(__name__)# Default route, print user's IP@app.route('/')def index(): ...

2019-11-01 22:29:27 14739 4

原创 Python 获取当前文件 当前目录 上级目录 上上级目录

import os# 获取当前目录print(os.getcwd())print(os.path.abspath(os.path.dirname(__file__)))print(os.path.abspath('.'))# 获取当前文件print(os.path.abspath(__file__))# 获取上级目录print(os.path.abspath(os.path....

2019-10-31 22:59:00 2730 1

原创 Python 二维 list列表 转置转换 二维转一维 数组

二维 List列表转换(转置)方法一 zip()def test(): a = [[1, 2, 3], [4, 5, 6]] b = tuple(zip(*a)) c = list(zip(*a)) d = list(map(list, zip(*a))) print(b) # ((1, 4), (2, 5), (3, 6)) ...

2019-10-31 22:33:12 9468

原创 Python3 格式化数字 补零 数字补零

Python中将数字格式化时,有些时候需要将数字格式化, 为了显示美观,需要补零。今天在写代码时,看见别人的奇怪写法,觉得有必要在这里把Python更好的写法重写一下。看到的别人的代码for i in range(99): num_str = str(i) if len(num_str) > 1: num_str = '0' + str(i) print(num_str)...

2019-09-12 00:28:19 16150

原创 Python多种方式统计文本行数 大文本 文件行数文件内

方法一 Python 读取文件针对小文件可行,大文件效率和性能都很差。以下是几种写法def get_count(file_abs_name): """ :param: file_abs_name 文件名含绝对路径 """ with open(file_abs_name, 'r') as f: cnt = len(f.readlines) f.flush() retur...

2019-09-12 00:15:57 2624

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除