自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 在Python里如何切分中文文本句子(分句)、英文文本分句(切分句子)

在处理文本时,会遇到需要将文本以 句子 为单位进行切分(分句)的场景,而文本又可以分为 中文文本 和 英文文本 ,处理的方法会略有不同。本文会介绍 Python 是如何处理 分句 的。分句的关键是找到合适的结束符号,比如:中文里的 。,英文里的 . 等,而且,在这一点上中英也是有很大区分的。这里介绍一种纯用 Python 实现的分句函数。def cut_sentences(content):...

2020-02-07 12:14:15 27068 4

原创 Python判断文件或目录是否存在(exists)、判断是否为目录(文件夹)、删除、创建目录(文件夹),创建临时文件tempfile

在 Python 中判断文件或目录(路径)是否存在是十分方便的,os.path.exists 就可以搞定,但需要进一步判断该路径是否是目录(文件夹),如果不存在,则创建目录。代码示例:import ostest_path = './test'# 判断路径是否存在if os.path.exists(test_path): # 判断此路径是否为目录 if os.path.isdir(t...

2020-02-06 11:50:00 1322 3

原创 pip使用国内镜像(国内源)安装Python第三库,提升下载速度:豆瓣、阿里、清华

在使用 Python 时,我们绝大多数情况都会使用 pip 来安装需要的第三方库,但直接连接默认的源 ( https://files.pythonhosted.org ),其下载速度和安装成功率都不理想。所以,国内也提供了 Python 库的镜像源,比如:清华、阿里、豆瓣。国内源来源地址清华https://pypi.tuna.tsinghua.edu.cn/simple...

2020-02-05 11:52:22 1408

原创 Python压缩解压文件:zipfile、tarfile、gzip,压缩格式:zip、gz、tar.gz、tgz、bz2

我们日常在 Linux 平台上,一定会接触到大量的压缩文件(zip、gz、tar.gz、tgz、bz2、rar)需要解压,也有大量文件需要压缩。一般情况下,我们会使用 Linux 的命令,比如: tar 。但一些项目需要我们在 Python 中完成压缩解压的操作,比如:日志的处理。本文介绍两个 Python 中的模块:zipfile 、tarfile 和 gzip 。为了让大家可以更好的理解,z...

2020-02-04 15:46:28 2495

原创 Python 从命令行读取或解析(parser)参数(arguments、options、sub-commands):sys.argv、argparse、docopt

Python 在开发命令行工具时,绝大多数情况下,都需要解析参数(parser command-line options, arguments and sub-commands),Python 除了简易的 sys.argv 方法读取参数外,还提供了功能更丰富的模块:argparse 和第三方库 docopt 。sys.argv如果我们只是简单的开发一个命令行工具,方便自己使用的话,其实使用 s...

2020-02-03 14:50:24 2812

原创 Python监控(monitor)文件系统(Linux file system)事件(变化):watchdog、pyinotify

很多时候,我们需要及时对文件系统(file sytem)的变化进行监控,以便第一时间 增量处理。Python 在这方面提供两个非常优秀的第三方开源工具:watchdog 和 pyinotify ,背后都是依赖 Linux 系统的 inotify 库。inotify 是一个Linux系统的特性,用于监控文件系统操作,比如:读取、写入和创建,比频繁的轮询要高效很多。当然,监控文件系统时,我们可...

2020-02-02 10:22:50 1291

原创 Python正则表达式(正则、regular、re)讲解,及常用正则:匹配邮箱、身份证、手机号、IP地址、URL、HTML等

正则表达式(正则、regular、re)是 Python 中最常见的编程技巧,很多时候,一个好的正则表达式可以抵上几十行代码。比如:匹配(校验)邮箱、身份证、手机号、IP地址、URL、HTML等。正则表达式,其实就是一串特殊的字符序列,而这串字符序列蕴含着事先定义好的 模式 (规则),可以用于匹配、校验其它的字符串(文本、网页等)。但想掌握正则表达式的难度在于,其包括了较多的 基础模式语法 需...

2020-02-01 11:38:32 2033

原创 Python与日期、时间相关的内置模块:time、datetime、calendar,以及第三方模块:moment(使用体验更好)

Python 与日期、时间相关的内置模块,主要有:time 、datetime、calendar 等,一般常见的问题,使用它们就足够了,但遇到复杂度很高的需求时,代码的可读性就会变得很差,所以,我们还可以使用体验更好的第三方模块:moment 。本文会从内置模块介绍到第三方模块。timetime 是用来表示时分秒。获取时间import timeprint(time.time())15...

2020-01-31 11:07:45 1001

原创 Python中对各种数据结构:列表、元组、字典(list、tuple、dict)进行排序,sort、sorted、heapq、Counter

Python 中对数据进行排序是非常简单的,其内置了列表 list 的排序方法 sort,同时还内置了 sorted 方法,不仅可以对 list 排序,还可以对 tuple 和 dict 排序。不仅如此,关于排序 Python 还提供其它的选择,以应对更多的场景,如:heapq 、collection.Counter 。sortsort 是对 list 进行原地址排序,也就是改变原有的 lis...

2020-01-30 10:29:28 3653

原创 Python装饰器(修饰器、decorator、wraps、闭包)的简明教程:从实现到用法

Python 的装饰器(修饰器、decorator、wraps)是Python编程中最常见、也是最实用的技巧之一,可以给函数添加新的功能,但不改变原有的函数,做到了低耦合、高内聚。闭包其实,装饰器的实现方式就是 闭包,闭包的思想在 javascript中也比较常见。闭包,是指函数中定义了一个内函数,内函数里运用了外函数的临时变量,并且外函数的返回值是内函数的引用。我个人理解,闭包就是简...

2020-01-29 10:08:54 376

原创 Python读写文件、文件打开方式、特殊文件:音频、压缩、PDF、Excel、CSV、图片、plist等

Python 开发程序中,读写文件是最常见的功能,基本的调用方法也很简单,但细节方面却不见得大家都能了解。所以,本文除了介绍基本用法外,还会介绍那些大家容易忽视的细节。同时,也会介绍特殊文件:音频、压缩、PDF 、Excel 、图片、plist 等对应的模块。基本用法文件 是用于存储数据的连续字节集,这些数据会以特定格式组织,最后这些字节文件被翻译成二进制文件,以 1 和 0 的方式被计算机处...

2020-01-28 10:53:53 440

原创 在Python里调用执行Linux或Windows系统的shell命令:system、popen、commands、subprocess

Python 语言的灵活性和易用性,使得它非常适合作为“胶水”,去粘合各种系统命令(shell),完成复杂的运维工作和特殊场景的需求。本文主要介绍 Python 里如何调用执行 Linux 或 Windows 的系统命令(shell),方法主要有 system 、popen 、commands 和 subprocess 。systemos.system(cmd),这个方法使用起来最直接,是 同...

2020-01-27 11:11:15 2162

原创 【全面】Linux服务器通过命令行查看获得出口公网、外网IP地址

一般情况下,Linux服务器都是私有内网IP地址,但要想获取公网或外网IP地址,不能像桌面系统那样,使用浏览器搜索Google、百度,获得外网IP地址。本文介绍最全面的通过Linux命令行工具查看外网IP地址。curl & wgetcurl http://ipinfo.io{ "ip": "55.11.102.110", "hostname": "118.103.110.36...

2020-01-23 10:29:06 6403

原创 详细讲解Python遍历目录的文件夹(dir)、文件(file)的三种方法:os.listdir、os.walk和os.scandir

在使用Python开发项目的时候,会遇到需要遍历文件夹、文件的需求,我整理了三种主流方法:os.listdir、os.walk和os.scandir,并进行了详细的讲解。用于实验的目录:.test├── dir_1│ ├── dir_1_file_1.txt│ ├── dir_1_file_2.txt│ ├── dir_1_file_3.txt│ └── sub_di...

2020-01-22 16:25:07 73328 7

原创 如何用Python库在终端(terminal)里打印(print)出外观漂亮的表格数据(ascii-table):texttable、tabulate、prettytable

在使用Python开发Linux命令行工具时,对打印出的结果的外观会有一定的要求,并且很多时候输出的结果都是表单形式(ascii-table)的。我整理了6个关于打印表单的Python库:texttable、python-tabulate、prettytable、beautifultable、terminaltables、asciitable。我先整体介绍一下:库githubSta...

2020-01-16 10:02:05 3153

原创 黑客的数据库:Google进阶搜索技巧

对于程序员来说,已经彻底离不开搜索引擎了,遇到任何疑难问题,第一时间的反映,就是打开Google,输入问题的关键词,然后在搜索结果页里,进一步寻找匹配的结果。然而,有时候简单的搜索方式,无法满足需求。所以,Google提供了进阶的搜索技巧,黑客甚至利用这些技巧,发现了很多网站的后门,号称“Google Hacking Database”,本文后面,会列举出一些相关的搜索例子。Google搜索...

2019-12-31 09:23:55 1189

原创 一文搞懂字符编码问题,从此告别中文乱码

在中文的语言环境里,身为程序员的我们一定会遇到过中文乱码的情况,究其原因就是字符编码的问题。在没有深入理解其原理之前,会觉得中文编码问题比较谜,莫名其妙地乱码,又稀里糊涂地好了。字符编码是计算机技术的基石,本文希望帮助大家彻底梳理清楚字符编码问题,不仅知其然,还知其所以然,摆脱被中文乱码支配的感觉。在讲解中文编码问题之前,我们需要先讲讲英语编码,其解决方案是ASCII。ASCIIASCII...

2019-12-25 10:19:27 20869 1

空空如也

空空如也

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

TA关注的人

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