
Python
Python 常用技术文章收集
卡尔特斯
联系方式:dengzemiao
GitHub: https://github.com/dengzemiao
掘金:https://juejin.im/user/4450440831840909
展开
-
invalid mode: ‘rU‘ while trying to load binding.gyp 解决 node-gyp 与 python 版本不匹配报错
的模式,表示以通用换行符读取文件。为了解决这个问题,可以通过升级。版本还是可以随意切换的,因为主要是在安装项目依赖的时候需要用到。版本来解决,因为有的项目是老项目,它必须依赖低版本。版本后,输出一下当前版本号,默认会使用当前设置的。来执行,这样出现的额外问题会比升级遇到的问题少。以上的版本,可以拷贝弄两个版本。但是非特殊情况,更推荐降低。的版本,所以如果本机是。版本,也可以指定版本。处理好版本问题后,需要。原创 2024-09-25 14:16:35 · 2040 阅读 · 0 评论 -
Python 写爬虫推荐哪个库与数据存储
还需要下载浏览器驱动(如 ChromeDriver)。:可以处理复杂的网页交互和 JavaScript 渲染。:需要处理动态内容的页面,数据存储要求较高。:支持并发和分布式处理,适合大规模爬虫任务。:大规模数据抓取,分布式处理和全文检索。:静态网页数据抓取,小规模数据存储。:轻量化、实现简单,适合快速开发。:不适合处理动态内容和大规模数据。:学习和配置复杂,适合大型项目。:运行速度较慢,资源消耗较大。:Python 内置。原创 2024-09-14 09:48:31 · 1223 阅读 · 0 评论 -
Python 与 Nodejs 开发一个可视化UI、打成可执行包自动化工具改如何选择
要开发一个自动化网页下单并支持可视化 UI 的应用,并且最后打包成可执行文件,Node.js和Python都可以选择。两者各有优缺点,取决于具体需求。下面我会对两种语言的方案进行对比,并给出推荐。选择建议:如果你更关注现代化的 UI 和跨平台支持Node.js是更好的选择,因为它有强大的Electron框架支持,可以方便地创建漂亮、跨平台的桌面应用。如果你需要现代化的 UI 并且希望应用能够跨平台运行,推荐使用 Node.js + Electron。原创 2024-09-13 16:17:01 · 1065 阅读 · 0 评论 -
Pyhton 使用浏览器打开本地 html(打开指定页面、新建标签栏 ....)
【代码】Pyhton 使用浏览器打开本地 html(打开指定页面、新建标签栏 ....)原创 2023-08-09 11:35:51 · 3052 阅读 · 0 评论 -
Python 文件读写操作区别案例(r、r+、rb、w、w+、wb、a、a+、ab)
读 r(read)写 w(write)追加 a(append)。r+、w+、a+ 使用案例r、rb、w、wb、a、ab 使用案例with open() 文件操作。原创 2023-05-24 17:43:19 · 6782 阅读 · 0 评论 -
Python 将 json 数据写入 .json 文件中(json 中包含中文)
【代码】Python 将 json 数据写入 .json 文件中。原创 2022-11-21 16:23:21 · 2889 阅读 · 0 评论 -
Python 完美解决 Import “模块“ could not be resolved ...
安装了包之后,是会安装到自己的根目录下面,所以多个版本就不会共用到,需要选个装了的,要不然就装一遍。的,装了包还是报警告,那说明编译环境不对,但是直接运行代码是没问题的,只是代码里面有警告错误。编译环境也必须安装了所有库,简单理解就是选个安装了包的。,可以看到下载过的所有包,如果未下载,则下载后重启。编译环境,注意了:如果有用到多个库,那选择的。里使用的那个编译环境中没有下载该包。1、未下载此包,打开命令行,输入。的,默认使用的编译环境可能是。选择一个安装当前报错库的。的编译环境,比如使用。原创 2022-11-21 14:00:11 · 17993 阅读 · 2 评论 -
Python 使用 pyinstaller 打包成 exe/app 文件,并支持传入外部参
包,两者都能达到接收外部参数的目的。支持接收外部传参的功能。原创 2022-11-20 16:45:19 · 1795 阅读 · 0 评论 -
Python Playwright 基本使用(步骤详细)
Playwright 官方安装文档、Python 编程技术-安装文档。Playwright是由微软公司2020年初发布的新一代自动化测试工具,相较于目前最常用的Selenium,它仅用一个API即可自动执行Chromium、Firefox、WebKit等主流浏览器自动化操作。作为针对Python语言纯自动化的工具,在回归测试中可更快的实现自动化。Playwright需要版本。推荐:Python 使用 pyenv 多版本管理。Playwright 最详细使用教程,这篇文章使用细节介绍的非常好。原创 2022-11-20 16:04:52 · 10497 阅读 · 0 评论 -
Python Playwright 打包报错 Please run the following command to download new browsers
想做一个浏览器自动化的小插件,本地安装了。,测试可以正常打开浏览器自动化。没有被打到包内,解决方案。原创 2022-11-20 14:37:48 · 5743 阅读 · 1 评论 -
Python PyInstaller 打包成 Win、Mac 应用程序(app / exe)
python提供了几个用来打包的模块,主要有py2app、py2exe、。pyinstaller、py2app、py2exe、fbs 对比与爬坑。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-whT6cPog-1668880648443)(https://p1-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/e5471b09c4bf441fb3ad94e2f2b2dc7d~tplv-k3u1fbpfcp-watermark.image?)]原创 2022-11-20 01:58:09 · 9191 阅读 · 0 评论 -
Python virtualenv 虚拟环境(详细使用,包含打包 exe/app )
virtualenv 官网、Python 虚拟环境官方中文文档。在开发Python应用程序的时候,系统上通常只会安装一个Python版本:例如3.7。所有使用pip安装的第三方包都会被安装到Python的目录下。如果同时开发多个应用程序,而这些应用程序需要使用的某一个第三方包的版本各不相同,该怎么办?这种情况下,为每个应用程序“独立”安装一套Python运行环境显然是不现实的。这个难题,使用virtualenv可以轻易解决。virtualenv是专门用来为应用程序维护多套相互隔离的Python。原创 2022-11-20 01:57:18 · 3378 阅读 · 0 评论 -
Python virturalenv + pyinstaller 最小化打包 python 程序
【代码】Python virturalenv + pyinstaller 最小化打包 python 程序。原创 2022-11-20 01:55:17 · 2507 阅读 · 1 评论 -
完美解决 Python library not found: libpython3.10m.dylib, Python3, .Python, libpython3....
OSError: Python library not found: Python, libpython3.10.dylib, .Python, Python3, libpython3.10m.dylib This means your Python installation does not come with proper shared library files. This usually happens due to missing development package, or u原创 2022-11-20 01:39:04 · 3932 阅读 · 0 评论 -
Mac brew 卡在 ‘Cloning into ‘.../homebrew-core(或 homebrew-cas)‘
Mac brew 卡在 'Cloning into '.../homebrew-core(或 homebrew-cas)'原创 2022-11-20 00:00:37 · 806 阅读 · 0 评论 -
Python pyenv install 下载安装慢(失败)完美解决
pyenv下载原理就是将例如这样的压缩文件下载到本地缓存文件或临时文件,然后解压出来使用。由于下载速度或者网不行,那么就跳过pyenv下载,自己下载,然后放到它的缓存文件,这样不就行了。原创 2022-11-19 22:19:34 · 7061 阅读 · 0 评论 -
Python Requests 基本使用(与 urllib 的区别)
Python内置了requests模块,该模块主要用来发送HTTP请求,requests模块比urllib模块更简洁。Requests 官方文档、Requests 中文文档安装urllib 入门使用(步骤详细)用于对比区别。原创 2022-11-17 18:38:13 · 1227 阅读 · 0 评论 -
Python Selenium 基本使用(详细步骤)
Selenium是一个web应用程序自动化测试工具,对各种浏览器都能很好地支持,包括Chrome、Firefox这些主流浏览器。使用它可以模拟浏览器进行各种各样的操作,包括爬取一些网页内容。当看到浏览器自己运行并且在网页上翻页或者跳转的时候,应该会觉得很有趣的。Selenium支持有/无界面浏览器操作,无界面浏览器执行效率会更高,毕竟右界面浏览器会需要调用很多资源,都需要等待。Selenium会直接允许在浏览器中,就像真的用户在操作一样,为什么叫真的用户?之前通过urllib。原创 2022-11-17 14:38:44 · 5933 阅读 · 1 评论 -
Python Selenium 驱动下载与配置使用(详细流程)
如果实在不清楚放哪里,但是想使用,那就随便找个文件夹一丢,通过自定义路径导入使用就行,比如项目根目录,直接通过路径访问驱动使用。开头的下载就行,选这个开头最新的那个。根据自己的操作系统下载相对应的驱动,验证浏览器驱动是否正常使用,确保。后面的小版本号不需要管,打开。需要和对应的浏览器版本以及。)高版本会向下兼容,结果报错。安装路径的根目录下即可。下载驱动后解压出来得到。目录下,看有哪个目录。原创 2022-11-17 14:35:02 · 5761 阅读 · 1 评论 -
Python Chrome handless(无界面浏览器,add_argument 支持哪些参数,替代 PhantomJS)
使用(直接拷贝就能用,初始化格式固定的)新增的一种模式,可以让你不打开。浏览器,所以运行效果与。add_argument 常用配置原创 2022-11-17 14:32:47 · 1728 阅读 · 0 评论 -
Python BeautifulSoup4 入门使用
与lxml一样,是一个html解析器,主要功能也是解析和提取数据。是爬虫必学的技能。最主要的功能是从网页抓取数据,自动将输入文档转换为Unicode编码,输出文档转换为utf-8编码,不需要考虑编码方式,除非文档没有指定一个编码方式,这时,就不能自动识别编码方式了,然后,仅仅需要说明一下原始编码方式就可以了。支持Python标准库中的HTML解析器,还支持一些第三方的解析器,如果不安装它,则Python会使用Python默认的解析器。使用步骤。原创 2022-11-15 19:04:38 · 2958 阅读 · 0 评论 -
Python JsonPath 详细使用
JsonPathJavascript,Python,PHP和Java。JsonPath对于JSON来说,相当于XPATH对于XMLJSON 数据解析(Json & JsonPath)JSONPath-简单入门Json结构清晰,可读性高,复杂度低,非常容易匹配,下表中对应了XPath的用法(n/aXPathJSONPath描述/$根节点.@现行节点/.or[]取子节点..n/a取父节点,JsonPath未支持//..就是不管位置,选择所有符合条件的条件*匹配所有元素节点@n/a根据属性访问,原创 2022-11-15 17:29:35 · 2115 阅读 · 0 评论 -
Python urllib 入门使用(步骤详细)
urllib库,它是Python内置的HTTP`request` 请求模块,提供最基本的 `HTTP` 请求处理。`parse` 工具模块,提供处理 `url` 的很多方法:拆分、解析、合并等等。`error` 异常处理模块,如果出现请求错误,可以捕获这些错误,保证程序不会意外终止。`robotparser` 模块,主要用来识别网站的 `robots.txt` 文件,判断哪些网站可以爬取,用的比较少。# 使用 urllib# url 的组成wd=123# 协议 主机 端口号 路径 参数 锚点。原创 2022-11-15 16:03:53 · 1676 阅读 · 0 评论 -
Python xpath 入门使用
xpath 浏览器插件,安装之后可以直接在浏览器输入xpath进行测试# 开关快捷键简单流程。原创 2022-11-15 16:01:09 · 543 阅读 · 0 评论 -
Python 基于 urllib 使用 Handler 处理器(代理)
为啥要使用Handler?1、不能定制请求头。2、可以定制请求头。3、Handler定制更高级的请求头(随着业务逻辑的复杂,请求对象的定制已经满足不了需求,比如:动态cookie和代理不能使用请求对象的定制)。要爬取的各种各样的网页,有一部填写需要验证码,有的需要cookie,还有更多许多高级的功能,会阻碍你爬,而对于openurl单纯点理解就是打开网页。openurl打开一个网址,它可以是一个字符串或者是一个request对象。而就是多了handler,处理问题更专,更个性化。简单使用,通过。原创 2022-11-14 17:43:50 · 661 阅读 · 0 评论 -
Python random 随机函数(random、uniform、randint、choice、choices、randrange、shuffle、sample)
Python random 随机函数(random、uniform、randint、choice、choices、randrange、shuffle、sample)原创 2022-11-14 17:24:01 · 2885 阅读 · 0 评论 -
Python 文件操作 with open()
为了保证无论是否出错都能正确地关闭文件,可以使用。语句,这样能够确保最后文件一定被关闭,且不用手动再调用。,正常读取操作文件,都需要先开,用完则关。由于文件读写时都有可能产生。原创 2022-11-14 11:58:11 · 1190 阅读 · 0 评论 -
Python ‘utf-8‘ codec can‘t decode byte 0x8b in position 1: invalid start byte
【代码】Python 'utf-8' codec can't decode byte 0x8b in position 1: invalid start byte。原创 2022-11-13 17:29:54 · 2504 阅读 · 0 评论 -
Python POST data should be bytes, an iterable of bytes, or a file object. It ...
【代码】Python POST data should be bytes, an iterable of bytes, or a file object. It ...原创 2022-11-13 17:04:21 · 570 阅读 · 0 评论 -
Python pip 包管理工具详解
pip是Python的包管理工具,例如前端的npm。原创 2022-11-11 16:47:29 · 960 阅读 · 0 评论 -
Python 判断字典中 key 是否存在(三种方式)
Python 判断字典中 key 是否存在(三种方式)原创 2022-11-01 13:52:53 · 21021 阅读 · 0 评论 -
Python 文件操作进阶(混合模式、替换、插入)
一、简介Python 文件操作(创建、读取、追加、图片视频读取) 上篇文章中使用的操作方式,只能以 读、创建、追加 3 种模式中任意一种打开文件,不能既写又读,也就是读的模式打开只能读,写的模式打开只能写,这样操作起来就相当不方便。混合模式r+:读写,能读能写,但都是写在文件的最后,跟追加一样,但是可以通过 seek() 调整光标位置进行调整内容。w+:创建写读,这个功能基本没有意义,创建之后写一段内容,在读出来。a+:追加读,文件一打开光标会在文件尾部,写的数据都是原创 2022-03-10 16:41:42 · 1545 阅读 · 0 评论 -
Python seek() 操作文件光标移动到指定位置
注意 seek() 的长度是按字节算的,字符编码存每个字符所占用的字节长度是不一样的,所以区分好自己的编码格式。比如:中国dzm 按 utf-8 编码格式一个汉字 3 个字节,使用 seek(3) 就会将光标移动到 中|国dzm 之间,seek(6) 就会是 中国|dzm,英文字符还是一个字节,seek(7) 就会是 中国d|zm,另外 gbk 是 2 个字节一个汉字。比如:一个汉字 utf-8 中占 3 个字节,你偏偏设置 2 ,这样就会报错 'utf-8' codec can't dec..原创 2022-03-10 11:21:54 · 3023 阅读 · 0 评论 -
Python 文件操作(创建、读取、追加、图片视频读取)
一、简介举例,操作一个文本文件:# 1、找到文件,双击打开# 2、读或者修改# 3、保存&关闭# 用 python 来操作如下:f = open(filename) # 打开文件f.write('dzm') # 写入f.read() # 读取f.close() # 保存并关闭不过有一点跟人为操作不同,打开文件操作时,人为的是可读可写。但是 python 有点傻,只能以 读、创建、追加 3 种模式中任意一种打开文件,不能既写又读,也就是读的模式打开只能读,写的模式打开原创 2022-03-10 11:09:54 · 2387 阅读 · 0 评论 -
Python3 ‘str‘ object has no attribute ‘decode‘. Did you mean: ‘encode‘?
AttributeError: 'str' object has no attribute 'decode'. Did you mean: 'encode'?原因:一般是因为 str 的类型本身不是 bytes,所以不能解码。这是由于 py2 与 py3 字符串 编码上的区别 导致的,py3中必须将字符串 解码 后才能打印出来。# 这是 py2 的写法name = "中国"name_utf8 = name.decode('utf-8')print(name, name_utf8)# 输..原创 2022-03-09 17:41:58 · 5970 阅读 · 0 评论 -
Python 编码格式(申明)
py2 文件编码默认是 ascii 来解释,py3 文件编码默认是 utf-8。在执行 py2 文件时,如果不申明当前编码格式,则会按照默认的 ascii 编码执行。# 下面两种方式,取一种就行,都一样,然后放在文件头部# encoding=utf-8# encoding:utf-8py3 编码格式测试,py3 默认就是 utf-8。gbk 与 utf-8 是怎么转换的? 其实都是转为 unicode 万国码,这样就实现了互通。...原创 2022-03-09 17:22:40 · 1459 阅读 · 0 评论 -
Python 数组截取
# 数据源names = ['a', 'b', 'c', 'd', 'e', 'f']# 正常获取print(names[1]) # b# 截取print(names[0:3]) # ['a', 'b', 'c']print(names[3:10]) # ['d', 'e', 'f']# 截取:从指定开始直接到指定结尾print(names[3:]) # ['d', 'e', 'f']print(names[:3]) # ['a', 'b', 'c']# 倒着切print(na原创 2022-03-09 14:57:19 · 7357 阅读 · 0 评论 -
Python str 常见操作
字符串截取>>> name = "abcdefg">>> print(name[0])a>>> print(name[2:3])c>>> 常用方法# 测试文案name = "abcdefg"# 内容居中,左右进行填充指定字符print(name.center(50, '-')) # 输出结果: ---------------------abcdefg----------------------# 查..原创 2022-03-09 14:34:58 · 554 阅读 · 0 评论 -
Python range 函数使用
py2.x range() 函数可创建一个整数列表,一般用在 for 循环中。range(start, stop[, step])start:计数从 start 开始,默认是从 0 开始。例如:range(5) 等价于 range(0, 5)。stop:计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是 [0, 1, 2, 3, 4] 没有 5。step:步长,默认为 1。例如:range(0, 5) 等价于 range(0, 5, 1)案..原创 2022-03-09 11:35:16 · 861 阅读 · 0 评论 -
Python 语法缩进规范
顶级代码必须顶行写,即如果一行代码本身不依赖任何条件,那么它必须不能进行任何缩进:a = 21 # 正确 b = 30 # 错误同一级别的代码,缩进必须一致:a = 21 # 正确 b = 30 # 错误if a > 20: print('大于') # 正确 print('大于') # 错误else: print('小于') # 正确缩进空格多少个合适?没有强制规定 每行必须要多少个缩进空格,只是要求代码 必须有缩..原创 2022-03-09 11:18:10 · 370 阅读 · 0 评论