当前位置: 首页 > news >正文

【python013】pyinstaller打包PDF提取脚本为exe工具

1.在日常工作和学习中,遇到类似问题处理场景,如pdf文件核心内容截取,这里将文件打包成exe可执行文件,实现功能简便使用。
2.欢迎点赞、关注、批评、指正,互三走起来,小手动起来!
3.欢迎点赞、关注、批评、指正,互三走起来,小手动起来!

  • 脚本代码请参考下文章(上一篇结果代码),也可以到文末。
    • 【python012】Python根据页码处理PDF文件的内容
    • 【python012】Python根据页码处理PDF文件的内容

文章目录

    • 1.环境准备
    • 2.`pyinstaller`打包输出脚本工具
    • 3.参数及生成文件释义
    • 4.打包错误示例及工具代码

1.环境准备

  • 历史安装的环境打包失败,或环境包不兼容,或历史安装包太多等问题,新建环境可能会更快些。问题如4小节记录。
    # 在 Anaconda Prompt 环境中创建虚拟环境
    conda create -n youli python==3.8.0# 激活新建的虚拟环境
    conda activate youli# 安装必要的Python环境包
    pip install fitz
    pip install pymupdf
    pip install wxpython
    pip install pyinstaller
    pip install frontend wxpython# 删除虚拟环境
    # conda create -n youli python==3.8.0# 查看当前存在哪些虚拟环境
    # conda env list 
    # conda info -e
    
  • 虚拟环境效果如下:
    在这里插入图片描述
  • 环境包版本详情如下:
    在这里插入图片描述

2.pyinstaller打包输出脚本工具

  • 命令行
    pyinstaller -F -w ..\pdfextract.py --noconfirm --noconsole -p ..\Anaconda3\envs\python8\Lib\site-packages
    
  • 执行结果详情
    (python8) C:\Users\Administrator>pyinstaller -F -w ..\pdfextract2.py --noconfirm --noconsole -p ..\Anaconda3\envs\python8\Lib\site-packages
    420 INFO: PyInstaller: 6.8.0, contrib hooks: 2024.7
    420 INFO: Python: 3.8.0 (conda)
    421 INFO: Platform: Windows-10-10.0.19041-SP0
    422 INFO: Python environment: ..\Anaconda3\envs\python8
    423 INFO: wrote C:\Users\Administrator\pdfextract2.spec
    429 DEPRECATION: Foreign Python environment's site-packages paths added to --paths/pathex:
    ['..\\Anaconda3\\envs\\python8\\Lib\\site-packages']
    This is ALWAYS the wrong thing to do. If your environment's site-packages is not in PyInstaller's module search path then you are running PyInstaller from a different environment to the one your packages are in. Run print(sys.prefix) without PyInstaller to get the environment you should be using then install and run PyInstaller from that environment instead of this one. This warning will become an error in PyInstaller 7.0.
    430 INFO: Module search paths (PYTHONPATH):
    ['..\\Anaconda3\\envs\\python8\\Scripts\\pyinstaller.exe','..\\Anaconda3\\envs\\python8\\python38.zip','..\\Anaconda3\\envs\\python8\\DLLs','..\\Anaconda3\\envs\\python8\\lib','..\\Anaconda3\\envs\\python8','..\\Anaconda3\\envs\\python8\\lib\\site-packages','E:\\PycharmSpace\\orclblobtest','..\\Anaconda3\\envs\\python8\\Lib\\site-packages']
    733 INFO: checking Analysis
    733 INFO: Building Analysis because Analysis-00.toc is non existent
    733 INFO: Running Analysis Analysis-00.toc
    735 INFO: Target bytecode optimization level: 0
    735 INFO: Initializing module dependency graph...
    736 INFO: Caching module graph hooks...
    754 INFO: Analyzing base_library.zip ...
    1824 INFO: Loading module hook 'hook-heapq.py' from '..\\Anaconda3\\envs\\python8\\lib\\site-packages\\PyInstaller\\hooks'...
    1897 INFO: Loading module hook 'hook-encodings.py' from '..\\Anaconda3\\envs\\python8\\lib\\site-packages\\PyInstaller\\hooks'...
    3157 INFO: Loading module hook 'hook-pickle.py' from '..\\Anaconda3\\envs\\python8\\lib\\site-packages\\PyInstaller\\hooks'...
    3815 INFO: Caching module dependency graph...
    3965 INFO: Looking for Python shared library...
    3973 INFO: Using Python shared library: ..\Anaconda3\envs\python8\python38.dll
    3974 INFO: Analyzing E:\PycharmSpace\orclblobtest\pdfextract2.py
    5889 INFO: Loading module hook 'hook-PIL.py' from '..\\Anaconda3\\envs\\python8\\lib\\site-packages\\PyInstaller\\hooks'...
    5956 INFO: Loading module hook 'hook-PIL.Image.py' from '..\\Anaconda3\\envs\\python8\\lib\\site-packages\\PyInstaller\\hooks'...
    6952 INFO: Loading module hook 'hook-numpy.py' from '..\\Anaconda3\\envs\\python8\\Lib\\site-packages\\numpy\\_pyinstaller'...
    7029 WARNING: Conda distribution 'numpy', dependency of 'numpy', was not found. If you installed this distribution with pip then you may ignore this warning.
    7572 INFO: Loading module hook 'hook-multiprocessing.util.py' from '..\\Anaconda3\\envs\\python8\\lib\\site-packages\\PyInstaller\\hooks'...
    7681 INFO: Loading module hook 'hook-xml.py' from '..\\Anaconda3\\envs\\python8\\lib\\site-packages\\PyInstaller\\hooks'...
    8209 INFO: Loading module hook 'hook-difflib.py' from '..\\Anaconda3\\envs\\python8\\lib\\site-packages\\PyInstaller\\hooks'...
    8295 INFO: Loading module hook 'hook-platform.py' from '..\\Anaconda3\\envs\\python8\\lib\\site-packages\\PyInstaller\\hooks'...
    8669 INFO: Loading module hook 'hook-sysconfig.py' from '..\\Anaconda3\\envs\\python8\\lib\\site-packages\\PyInstaller\\hooks'...
    9621 INFO: Loading module hook 'hook-packaging.py' from '..\\Anaconda3\\envs\\python8\\lib\\site-packages\\PyInstaller\\hooks'...
    9745 INFO: Loading module hook 'hook-PIL.ImageFilter.py' from '..\\Anaconda3\\envs\\python8\\lib\\site-packages\\PyInstaller\\hooks'...
    10018 INFO: Loading module hook 'hook-pandas.py' from '..\\Anaconda3\\envs\\python8\\lib\\site-packages\\PyInstaller\\hooks'...
    11702 INFO: Loading module hook 'hook-pytz.py' from '..\\Anaconda3\\envs\\python8\\lib\\site-packages\\PyInstaller\\hooks'...
    12067 INFO: Loading module hook 'hook-pkg_resources.py' from '..\\Anaconda3\\envs\\python8\\lib\\site-packages\\PyInstaller\\hooks'...
    14388 INFO: Loading module hook 'hook-scipy.py' from '..\\Anaconda3\\envs\\python8\\lib\\site-packages\\PyInstaller\\hooks'...
    14539 INFO: Loading module hook 'hook-scipy.linalg.py' from '..\\Anaconda3\\envs\\python8\\lib\\site-packages\\PyInstaller\\hooks'...
    14909 INFO: Loading module hook 'hook-scipy.sparse.csgraph.py' from '..\\Anaconda3\\envs\\python8\\lib\\site-packages\\PyInstaller\\hooks'...
    15183 INFO: Loading module hook 'hook-scipy.special._ufuncs.py' from '..\\Anaconda3\\envs\\python8\\lib\\site-packages\\PyInstaller\\hooks'...
    15243 INFO: Loading module hook 'hook-scipy.special._ellip_harm_2.py' from '..\\Anaconda3\\envs\\python8\\lib\\site-packages\\PyInstaller\\hooks'...
    16644 INFO: Loading module hook 'hook-scipy.spatial.transform.rotation.py' from '..\\Anaconda3\\envs\\python8\\lib\\site-packages\\PyInstaller\\hooks'...
    17421 INFO: Loading module hook 'hook-scipy.stats._stats.py' from '..\\Anaconda3\\envs\\python8\\lib\\site-packages\\PyInstaller\\hooks'...
    18308 INFO: Loading module hook 'hook-pandas.io.formats.style.py' from '..\\Anaconda3\\envs\\python8\\lib\\site-packages\\PyInstaller\\hooks'...
    20782 INFO: Loading module hook 'hook-pandas.plotting.py' from '..\\Anaconda3\\envs\\python8\\lib\\site-packages\\PyInstaller\\hooks'...
    21009 INFO: Processing pre-safe import module hook six.moves from '..\\Anaconda3\\envs\\python8\\lib\\site-packages\\PyInstaller\\hooks\\pre_safe_import_module\\hook-six.moves.py'.
    22334 INFO: Loading module hook 'hook-sqlite3.py' from '..\\Anaconda3\\envs\\python8\\lib\\site-packages\\PyInstaller\\hooks'...
    22879 INFO: Loading module hook 'hook-pandas.io.clipboard.py' from '..\\Anaconda3\\envs\\python8\\lib\\site-packages\\PyInstaller\\hooks'...
    23076 INFO: Loading module hook 'hook-xml.etree.cElementTree.py' from '..\\Anaconda3\\envs\\python8\\lib\\site-packages\\PyInstaller\\hooks'...
    23078 INFO: Loading module hook 'hook-lxml.py' from '..\\Anaconda3\\envs\\python8\\lib\\site-packages\\_pyinstaller_hooks_contrib\\hooks\\stdhooks'...
    23627 INFO: Loading module hook 'hook-lxml.etree.py' from '..\\Anaconda3\\envs\\python8\\lib\\site-packages\\_pyinstaller_hooks_contrib\\hooks\\stdhooks'...
    23633 INFO: Loading module hook 'hook-xml.dom.domreg.py' from '..\\Anaconda3\\envs\\python8\\lib\\site-packages\\PyInstaller\\hooks'...
    24205 INFO: Processing module hooks...
    24282 INFO: Loading module hook 'hook-lxml.isoschematron.py' from '..\\Anaconda3\\envs\\python8\\lib\\site-packages\\_pyinstaller_hooks_contrib\\hooks\\stdhooks'...
    24301 WARNING: Hidden import "jinja2" not found!
    24515 INFO: Loading module hook 'hook-PIL.SpiderImagePlugin.py' from '..\\Anaconda3\\envs\\python8\\lib\\site-packages\\PyInstaller\\hooks'...
    25007 INFO: Loading module hook 'hook-lxml.objectify.py' from '..\\Anaconda3\\envs\\python8\\lib\\site-packages\\_pyinstaller_hooks_contrib\\hooks\\stdhooks'...
    25027 INFO: Performing binary vs. data reclassification (624 entries)
    25172 INFO: Looking for ctypes DLLs
    25217 INFO: Analyzing run-time hooks ...
    25225 INFO: Including run-time hook '..\\Anaconda3\\envs\\python8\\lib\\site-packages\\PyInstaller\\hooks\\rthooks\\pyi_rth_pkgutil.py'
    25229 INFO: Processing pre-find module path hook _pyi_rth_utils from '..\\Anaconda3\\envs\\python8\\lib\\site-packages\\PyInstaller\\hooks\\pre_find_module_path\\hook-_pyi_rth_utils.py'.
    25230 INFO: Loading module hook 'hook-_pyi_rth_utils.py' from '..\\Anaconda3\\envs\\python8\\lib\\site-packages\\PyInstaller\\hooks'...
    25231 INFO: Including run-time hook '..\\Anaconda3\\envs\\python8\\lib\\site-packages\\PyInstaller\\hooks\\rthooks\\pyi_rth_multiprocessing.py'
    25234 INFO: Including run-time hook '..\\Anaconda3\\envs\\python8\\lib\\site-packages\\PyInstaller\\hooks\\rthooks\\pyi_rth_pkgres.py'
    25237 INFO: Including run-time hook '..\\Anaconda3\\envs\\python8\\lib\\site-packages\\PyInstaller\\hooks\\rthooks\\pyi_rth_inspect.py'
    25287 INFO: Looking for dynamic libraries
    ..\Anaconda3\envs\python8\lib\site-packages\PyInstaller\building\build_main.py:205: UserWarning: The numpy.array_api submodule is still experimental. See NEP 47.__import__(package)
    26904 INFO: Extra DLL search directories (AddDllDirectory): ['..\\Anaconda3\\envs\\python8\\lib\\site-packages\\numpy\\.libs']
    26904 INFO: Extra DLL search directories (PATH): []
    30079 INFO: Warnings written to C:\Users\Administrator\build\pdfextract2\warn-pdfextract2.txt
    30264 INFO: Graph cross-reference written to C:\Users\Administrator\build\pdfextract2\xref-pdfextract2.html
    30336 INFO: checking PYZ
    30337 INFO: Building PYZ because PYZ-00.toc is non existent
    30337 INFO: Building PYZ (ZlibArchive) C:\Users\Administrator\build\pdfextract2\PYZ-00.pyz
    32361 INFO: Building PYZ (ZlibArchive) C:\Users\Administrator\build\pdfextract2\PYZ-00.pyz completed successfully.
    32416 INFO: checking PKG
    32416 INFO: Building PKG because PKG-00.toc is non existent
    32417 INFO: Building PKG (CArchive) pdfextract2.pkg
    59038 INFO: Building PKG (CArchive) pdfextract2.pkg completed successfully.
    59060 INFO: Bootloader ..\Anaconda3\envs\python8\lib\site-packages\PyInstaller\bootloader\Windows-64bit-intel\runw.exe
    59060 INFO: checking EXE
    59061 INFO: Building EXE because EXE-00.toc is non existent
    59061 INFO: Building EXE from EXE-00.toc
    59061 INFO: Copying bootloader EXE to C:\Users\Administrator\dist\pdfextract2.exe
    59067 INFO: Copying icon to EXE
    59072 INFO: Copying 0 resources to EXE
    59072 INFO: Embedding manifest in EXE
    59076 INFO: Appending PKG archive to EXE
    59148 INFO: Fixing EXE headers
    59664 INFO: Building EXE from EXE-00.toc completed successfully.
    

3.参数及生成文件释义

  • pyinstaller参数含义
    在这里插入图片描述
  • 输出文件内容含义
    • Analysis:主要是分析py文件的依赖信息
    • PYZ:是一个.pyz的压缩包,包含程序运行需要的依赖
    • EXE:是根据上述两项内容而生成的
    • COLLECT:主要是输出信息dist文件夹:最终的exe文件存放位置
    • build文件夹:中间过程,创建好之后可以直接删除
      • 整体详情如下图所示:
        在这里插入图片描述

4.打包错误示例及工具代码

  • 错误示例部分
    在这里插入图片描述
  • 打包代码
    # -*- coding: utf-8 -*-import fitz
    import wxclass PDFExtractor(wx.Frame):def __init__(self, parent, _title):wx.Frame.__init__(self, parent, id=wx.ID_ANY, title=_title, pos=wx.DefaultPosition,size=wx.Size(500, 254), style=wx.DEFAULT_FRAME_STYLE | wx.TAB_TRAVERSAL )self.SetSizeHints(wx.DefaultSize, wx.DefaultSize)self.SetForegroundColour(wx.SystemSettings.GetColour(wx.SYS_COLOUR_WINDOW))self.SetBackgroundColour(wx.SystemSettings.GetColour(wx.SYS_COLOUR_ACTIVECAPTION))bSizer2 = wx.BoxSizer(wx.VERTICAL)self.m_filePicker2 = wx.FilePickerCtrl(self, wx.ID_ANY, wx.EmptyString, u"Select a file", u"*.*",wx.DefaultPosition, wx.DefaultSize, wx.FLP_DEFAULT_STYLE)self.m_filePicker2.SetFont(wx.Font(9, 74, 90, 92, False, "微软雅黑"))self.m_filePicker2.SetForegroundColour(wx.SystemSettings.GetColour(wx.SYS_COLOUR_HIGHLIGHT))self.m_filePicker2.SetBackgroundColour(wx.SystemSettings.GetColour(wx.SYS_COLOUR_HIGHLIGHT))bSizer2.Add(self.m_filePicker2, 0, wx.ALL | wx.EXPAND, 5)self.m_staticText5 = wx.StaticText(self, wx.ID_ANY, u"Start Page:", wx.DefaultPosition, wx.DefaultSize, 0)self.m_staticText5.Wrap(-1)self.m_staticText5.SetFont(wx.Font(9, 74, 90, 92, True, "微软雅黑"))self.m_staticText5.SetForegroundColour(wx.SystemSettings.GetColour(wx.SYS_COLOUR_BTNTEXT))bSizer2.Add(self.m_staticText5, 0, wx.ALL, 5)self.m_textCtrl1 = wx.TextCtrl(self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0)bSizer2.Add(self.m_textCtrl1, 0, wx.EXPAND, 5)self.m_staticText6 = wx.StaticText(self, wx.ID_ANY, u"End Page:", wx.DefaultPosition, wx.DefaultSize, 0)self.m_staticText6.Wrap(-1)self.m_staticText6.SetFont(wx.Font(9, 74, 90, 92, True, "微软雅黑"))self.m_staticText6.SetForegroundColour(wx.SystemSettings.GetColour(wx.SYS_COLOUR_BTNTEXT))bSizer2.Add(self.m_staticText6, 0, wx.ALL, 5)self.m_textCtrl2 = wx.TextCtrl(self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0)bSizer2.Add(self.m_textCtrl2, 0, wx.EXPAND, 5)self.m_button18 = wx.Button(self, wx.ID_ANY, u"Extract", wx.DefaultPosition, wx.DefaultSize, wx.NO_BORDER)self.m_button18.SetFont(wx.Font(12, 74, 90, 92, False, "微软雅黑"))self.m_button18.SetForegroundColour(wx.SystemSettings.GetColour(wx.SYS_COLOUR_BTNTEXT))self.m_button18.SetBackgroundColour(wx.SystemSettings.GetColour(wx.SYS_COLOUR_BTNHIGHLIGHT))self.m_button18.Bind(wx.EVT_BUTTON, self.extract_pages)bSizer2.Add(self.m_button18, 0, wx.ALIGN_CENTER_HORIZONTAL | wx.SHAPED, 5)self.SetSizer(bSizer2)self.Layout()self.Centre(wx.BOTH)def __del__(self):passdef extract_pages(self, event):file_path = self.m_filePicker2.GetPath()start_page = int(self.m_textCtrl1.GetValue())end_page = int(self.m_textCtrl2.GetValue())doc = fitz.open(file_path)output_doc = fitz.open()for page_num in range(start_page - 1, end_page):output_doc.insert_pdf(doc, from_page=page_num, to_page=page_num)output_path = file_path.replace(".pdf", "_extracted.pdf")output_doc.save(output_path)output_doc.close()doc.close()wx.MessageBox("Extraction complete!", "Success", wx.OK | wx.ICON_INFORMATION)# app = wx.App()
    # PDFExtractor(None, title="PDF Extractor")
    # app.MainLoop()if __name__ == '__main__':app = wx.App()  # 运行wx.App()方法title = "PDF Extractor"frame = PDFExtractor( None , title )  # 调用Frame类,并且不指定父类,当前就成为父类frame.Show()  # 运行展示界面的方法Show()app.MainLoop()  # 进入程序wx.App()循环

相关文章:

【python013】pyinstaller打包PDF提取脚本为exe工具

1.在日常工作和学习中,遇到类似问题处理场景,如pdf文件核心内容截取,这里将文件打包成exe可执行文件,实现功能简便使用。 2.欢迎点赞、关注、批评、指正,互三走起来,小手动起来! 3.欢迎点赞、关…...

VUE div的右上角的角标/标签

一、效果图 二、代码 <div class"comp-overview"><div class"overview-item" v-for"(item,index) in overviewInfoList" :key"index"><div class"angle_mark"><span>{{item.label}}</span>&…...

WPS复制后转置粘贴

1. WPS复制后转置粘贴 复制-》右键-》顶部第一行-》粘贴行列转置&#xff0c;如下图&#xff1a; 2. Excel office365 本地版 2. Excel office365 在线版...

Shell编程之正则表达式与文本处理器

一&#xff0c;正则表达式 1&#xff1a;正则表达式概述 1.正则表达式的定义 正则表达式&#xff08;Regular Expression&#xff0c;RegEx&#xff09;是一种高度灵活的文本处理工具&#xff0c;它结合了字符序列、特殊控制字符&#xff08;称为元字符&#xff09;、以及特定…...

linux文本粘贴格式错乱的问题

vi/vim :set paste然后再 insert, 粘贴...

第二节课 6月13日 ssh密钥登陆方式

centos和ubuntu openssh服务的初始安装 一、实验&#xff1a;ubuntu系统激活root用户 ubuntu系统如何激活root用户&#xff0c;允许root用户ssh登陆&#xff1f; 1、ubuntu默认root用户未设置密码&#xff0c;未激活 激活root用户&#xff0c;设置root密码 sudo passwd roo…...

图书馆借阅表

DDL 用户表 (Users) 图书表 (Books) 图书类别表 (BookCategories) 图书与类别关联表 (BookCategoryRelations) 借阅记录表 (BorrowRecords) 供应商表 (Suppliers) 采购记录表 (PurchaseRecords) CREATE TABLE Users (user_id INT PRIMARY KEY AUTO_INCREMENT,username …...

云动态摘要 2024-06-25

给您带来云厂商的最新动态&#xff0c;最新产品资讯和最新优惠更新。 最新产品更新 Web应用防火墙 - 验证码支持微信小程序接入 阿里云 2024-06-25 支持客户从微信小程序场景下接入&#xff0c;提供人机识别的安全防护。 工业数字模型驱动引擎 - iDME控制台换新升级 华为云…...

Docker编译nanopc-t4源码流程介绍

官方文档 Android系统编译 vnc加环境变量配置 https://github.com/friendlyarm/docker-cross-compiler-novnc 下载 git clone https://github.com/friendlyarm/docker-ubuntu-lxde-novnc cd docker-ubuntu-lxde-novnc docker build --no-cache -t docker-ubuntu-lxde-novnc …...

Redis八股文目录

Redis缓存穿透-CSDN博客 Redis缓存击穿-CSDN博客 Redis缓存雪崩&#xff08;主从复制、哨兵模式&#xff08;脑裂&#xff09;、分片集群&#xff09;-CSDN博客 Redis双写一致性-CSDN博客 Redis持久化-CSDN博客 Redis数据过期、淘汰策略-CSDN博客 分布式锁&#xff08;Re…...

Ext JS+Spring Boot 使用Ajax方式上传文件

实现方式 使用 Ext JS 进行 AJAX 调用以传递文件通常涉及到创建一个 FormData 对象,将文件附加到这个对象中,然后通过 Ext JS 的 AJAX API 发送这个对象。 基本步骤 以下是使用 Ext JS 发送文件的基本步骤: 准备文件和数据: 首先需要获取到要传递的文件 创建 FormData 对…...

windows桌面运维----第九天

1、新的电脑需要安装哪些驱动&#xff1a; 显卡驱动、声卡驱动、主板驱动、网卡驱动、打印机驱动、外设驱动、 2、网络打印机如何开启打印机共享核客户端连接共享打印机&#xff1a; 一、打开控制面板并定位到设备和打印机&#xff1a; 首先&#xff0c;我们在电脑桌面上找…...

【Docker】安装和加速

目录 1.安装 2.了解 docker 信息 3.查询状态 4. 重新启动Docker 1.安装 yum install –y docker 2.了解 docker 信息 cat /etc/redhat-release 3.查询状态 systemctl status docker 4.支持 1.12 的 docker 镜像加速 sudo mkdir -p /etc/docker sudo tee /etc/docke…...

如何关闭win10音量调节时 左上角出现的黑框

目录 1.谷歌浏览器&#xff1a; 2.edge浏览器&#xff1a; 3.没得办法的办法&#xff1a; 4.官方回复&#xff1a; 1.谷歌浏览器&#xff1a; 把这行地址chrome://flags/#hardware-media-key-handling 输入到chrome的地址栏里&#xff0c;回车&#xff0c;把黄色里的Hardwa…...

准确率(accuracy)、召回率(recall)的意义和区别

准确率&#xff08;accuracy&#xff09;、召回率&#xff08;recall&#xff09;的意义和区别 对于准确率和召回率&#xff1a;一句话&#xff0c;准确率就是“找的对”&#xff0c;召回率就是“找的全” &#xff08;精确率&#xff1a;正样本中找对的准确率&#xff09; 注…...

分享5个卫星影像查看网站

我们在《分享5个图源二维码及使用方法》一文中&#xff0c;为你分享了5个图源二维码。 现在再为你为分享5种在线卫星影像&#xff0c;如果你需要更多的图源二维码&#xff0c;请在文末查看领取方式。 MapBox卫星影像 可能很多人都知道MapBox的地名路网地图&#xff0c;但可能…...

37岁,被裁员,失业三个月,被面试官嫌弃“太水”:就这也叫10年以上工作经验?

今年部门要招两个自动化测试&#xff0c;这几个月我面试了几十位候选人。发现一个很奇怪的现象&#xff0c;面试中一问到元素定位、框架api、脚本编写之类的&#xff0c;很多候选人都对答如流。但是一问到实际项目&#xff0c;比如“项目中UI自动化和接口自动化如何搭配使用&am…...

如何选择一款优质的酱香酒?

很多人在评价一款酒的好坏时&#xff0c;往往只关注一个标准&#xff1a;口感是否顺滑。然而&#xff0c;真正品鉴一款酒的品质&#xff0c;首要的是香味&#xff0c;其次是味道&#xff0c;最后才是岁月带来的柔和。这种由岁月赋予的柔和&#xff0c;才能展现出酒的力量感和层…...

SQL Server数据库安装

原文&#xff1a;https://blog.c12th.cn/archives/26.html SQL Server数据库安装 测试&#xff1a;笔记本原装操作系统&#xff1a;Windows 10 家庭中文版 资源分享链接&#xff1a;提取码&#xff1a;qbt2 注意事项&#xff1a; 请严格按照步骤安装&#xff0c;SQL软件安装较…...

Hadoop 面试题(十)

1. 简述下列关于Hadoop命令中&#xff0c;命令执行成功返回0&#xff0c;执行失败返回-1&#xff0c;下列命令返回-1的是 &#xff1f; A&#xff1a;hadoop fs -mv /user/hadoop/file1 /user/hadoop/file2 B&#xff1a;hdfs dfs -mv hdfs:///testData file:///tmp/testData …...

龙虎榜——20250610

上证指数放量收阴线&#xff0c;个股多数下跌&#xff0c;盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型&#xff0c;指数短线有调整的需求&#xff0c;大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的&#xff1a;御银股份、雄帝科技 驱动…...

conda相比python好处

Conda 作为 Python 的环境和包管理工具&#xff0c;相比原生 Python 生态&#xff08;如 pip 虚拟环境&#xff09;有许多独特优势&#xff0c;尤其在多项目管理、依赖处理和跨平台兼容性等方面表现更优。以下是 Conda 的核心好处&#xff1a; 一、一站式环境管理&#xff1a…...

SkyWalking 10.2.0 SWCK 配置过程

SkyWalking 10.2.0 & SWCK 配置过程 skywalking oap-server & ui 使用Docker安装在K8S集群以外&#xff0c;K8S集群中的微服务使用initContainer按命名空间将skywalking-java-agent注入到业务容器中。 SWCK有整套的解决方案&#xff0c;全安装在K8S群集中。 具体可参…...

Day131 | 灵神 | 回溯算法 | 子集型 子集

Day131 | 灵神 | 回溯算法 | 子集型 子集 78.子集 78. 子集 - 力扣&#xff08;LeetCode&#xff09; 思路&#xff1a; 笔者写过很多次这道题了&#xff0c;不想写题解了&#xff0c;大家看灵神讲解吧 回溯算法套路①子集型回溯【基础算法精讲 14】_哔哩哔哩_bilibili 完…...

跨链模式:多链互操作架构与性能扩展方案

跨链模式&#xff1a;多链互操作架构与性能扩展方案 ——构建下一代区块链互联网的技术基石 一、跨链架构的核心范式演进 1. 分层协议栈&#xff1a;模块化解耦设计 现代跨链系统采用分层协议栈实现灵活扩展&#xff08;H2Cross架构&#xff09;&#xff1a; 适配层&#xf…...

select、poll、epoll 与 Reactor 模式

在高并发网络编程领域&#xff0c;高效处理大量连接和 I/O 事件是系统性能的关键。select、poll、epoll 作为 I/O 多路复用技术的代表&#xff0c;以及基于它们实现的 Reactor 模式&#xff0c;为开发者提供了强大的工具。本文将深入探讨这些技术的底层原理、优缺点。​ 一、I…...

html css js网页制作成品——HTML+CSS榴莲商城网页设计(4页)附源码

目录 一、&#x1f468;‍&#x1f393;网站题目 二、✍️网站描述 三、&#x1f4da;网站介绍 四、&#x1f310;网站效果 五、&#x1fa93; 代码实现 &#x1f9f1;HTML 六、&#x1f947; 如何让学习不再盲目 七、&#x1f381;更多干货 一、&#x1f468;‍&#x1f…...

GruntJS-前端自动化任务运行器从入门到实战

Grunt 完全指南&#xff1a;从入门到实战 一、Grunt 是什么&#xff1f; Grunt是一个基于 Node.js 的前端自动化任务运行器&#xff0c;主要用于自动化执行项目开发中重复性高的任务&#xff0c;例如文件压缩、代码编译、语法检查、单元测试、文件合并等。通过配置简洁的任务…...

C/C++ 中附加包含目录、附加库目录与附加依赖项详解

在 C/C 编程的编译和链接过程中&#xff0c;附加包含目录、附加库目录和附加依赖项是三个至关重要的设置&#xff0c;它们相互配合&#xff0c;确保程序能够正确引用外部资源并顺利构建。虽然在学习过程中&#xff0c;这些概念容易让人混淆&#xff0c;但深入理解它们的作用和联…...

【MATLAB代码】基于最大相关熵准则(MCC)的三维鲁棒卡尔曼滤波算法(MCC-KF),附源代码|订阅专栏后可直接查看

文章所述的代码实现了基于最大相关熵准则(MCC)的三维鲁棒卡尔曼滤波算法(MCC-KF),针对传感器观测数据中存在的脉冲型异常噪声问题,通过非线性加权机制提升滤波器的抗干扰能力。代码通过对比传统KF与MCC-KF在含异常值场景下的表现,验证了后者在状态估计鲁棒性方面的显著优…...