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

Python标准库【os】5 文件和目录操作2

文章目录

  • 8 文件和目录操作
    • 8.7 浏览目录下的内容
    • 8.8 查看文件或目录的信息
    • 8.9 文件状态修改
      • 文件标志位
      • 文件权限
      • 文件所属用户和组
      • 其它
    • 8.10 浏览Windows的驱动器、卷、挂载点
    • 8.11 系统配置信息


os模块提供了各种操作系统接口。包括环境变量、进程管理、进程调度、文件操作等方面。

这里整理了文件操作的部分方法。

参考:os模块官方文档

os模块的方法和系统相关,且一些方法依赖python版本,测试时使用下面的在线工具:
在线python-3.12版本-Unix平台


8 文件和目录操作

8.7 浏览目录下的内容

  • os.listdir(path='.') 返回path指定目录下的条目的名称列表。
    结果中不会包含特殊条目'.''..'
    path为字节串时,返回的结果也是字节串。

    >>> os.listdir("/")
    ['etc', 'sys', 'lib', 'srv', 'home', 'tmp', 'bin', 'boot', 'lib64', 'usr', 'dev', 'sbin', 'mnt', 'run', 'root', 'media', 'var', 'opt', 'proc', '.dockerenv']
    
  • os.scandir(path='.') 返回类os.DirEntry类实例的迭代器,对应指定目录下的条目。
    如果需要文件类型或属性信息,这个方法比os.listdir()更好用。因为os.DirEntry对象包含了这些信息。
    scandir()支持上下文管理器:

    with os.scandir(path) as it:for entry in it:if not entry.name.startswith('.') and entry.is_file():print(entry.name)
    
    >>> os.scandir('/')
    <posix.ScandirIterator object at 0x7f5d787d7530>
    >>> list(os.scandir("/"))[:5]
    [<DirEntry 'etc'>, <DirEntry 'sys'>, <DirEntry 'lib'>, <DirEntry 'srv'>, <DirEntry 'home'>]
    
  • class os.DirEntry
    os.scandir()生成的对象,表示目录内某个条目的路径和文件属性。
    它可以作为类路径对象使用。它的属性和方法的调用结果是缓存好的,如果文件源数据已更改,就需要使用os.stat()获取最新的信息。

    它有以下属性和方法:

    • name,文件名,是基于os.scandir()的path参数的相对路径。
    • path,完整路径。os.scandir()的path参数为绝对路径时,该属性就为绝对路径;path参数是文件描述符,则该属性和name属性相同。
    • isnode() 返回条目的索引节点号。
    • is_dir(*, follow_symlinks=True) 条目是否为目录或指向目录的符号链接。
    • is_file(*, follow_symlinks=True) 条目是否为文件或指向文件的符号链接。
    • is_symlink() 条目是否为符号链接(断开的链接也算)。
    • is_junction() 条目是否为接合点(断开也算)。
    • stat(*, follow_symlinks=True) 返回条目对应的os.stat_result对象。
  • os.walk(top, topdown=True, onerror=None, followlinks=False)
    生成目录树中的文件名,方式为从上到下或从下到上浏览目录树。

    以top为根,目录树中的每个目录都会生成一个三元组(dirpath, dirnames, filenames)dirpath表示目录的路径,dirnamesdirpath中的子目录名称组成的列表。filenamesdirpath中非目录文件组成的列表。列表中的名称不包含路径部分。

    topdown为True时先生成父目录的三元组,为False时先生成子目录的三元组。topdown为True时,就地修改dirnames列表,后续只会在dirnames中的内容做查找。这样做可以减少搜索、加入特定的访问顺序。topdown为False时,修改dirnames不影响后续检索,因为dirnamesdirpath之前就已经生成了。

    top为相对路径时,在os.walk()返回前不要更改工作目录。
    followlinks设置为True时,对于指向父目录的链接,会出现无限递归。

    >>> os.walk("/")
    <generator object walk at 0x7f905bf94040>
    >>> list(os.walk("/"))[:1]
    [('/', ['etc', 'sys', 'lib', 'srv', 'home', 'tmp', 'bin', 'boot', 'lib64', 'usr', 'dev', 'sbin', 'mnt', 'run', 'root', 'media', 'var', 'opt', 'proc'], ['.dockerenv'])]
    
  • os.fwalk(top='.', topdown=True, onerror=None, *, dir_fd=None, follow_symlinks=False)
    效果和os.walk()一样,不过产生四元组(dirpath, dirnames, filenames, dirfd),dirfd是指向dirpath的文件描述符。


8.8 查看文件或目录的信息

  • os.access(path, mode, *, dir_fd=None, effective_ids=False, follow_symlinks=True)
    使用实际用户ID/用户组ID测试对path的访问。

    参数mode指定对path做什么测试:os.F_OK(是否存在)、os.R_OK(可读)、os.W_OK(可写)、os.X_OK(可执行)。

    参数effective_ids为True时,将使用有效用户ID/用户组ID而不是实际用户ID/用户组ID。可以用os.supports_effective_ids检测是否支持使用有效用户ID/用户组ID。

    os.access()方法指示I/O操作会成功,但是实际可能失败,尤其是对网络文件系统的操作。

  • os.supports_effective_ids
    一个集合,表示当前平台上是否支持os.access()effective_ids指定为True。不支持时集合为空。

    >>> os.supports_effective_ids
    {<built-in function access>}
    
  • os.stat(path, *, dir_fd=None, follow_symlinks=True)
    获取文件或描述符的状态。返回一个os.stat_result对象。

    >>> os.stat('.')
    os.stat_result(st_mode=16895, st_ino=2814749767298829, st_dev=86, st_nlink=1, st_uid=0, st_gid=0, st_size=4096, st_atime=1740675232, st_mtime=1740675232, st_ctime=1740675232)
    
  • os.lstat(path, *, dir_fd=None)
    类似于os.stat,但不会跟随符号链接。
    返回一个类os.stat_result的实例。

  • class os.stat_result
    这个类用于os.stat()os.fstat()os.lstat的输出。
    它有以下属性:

    • st_mode,文件模式,包括文件类型和权限;
    • st_ino,文件的索引节点号;
    • st_dev,文件所在设备的标识符;
    • st_nlink,硬链接数目;
    • st_uid,所有者的用户ID;
    • st_gid,所有者的组ID;
    • st_size,文件大小(字节),符号链接的大小是它包含的路径的长度;
    • st_atime,最近访问时间(秒);
    • st_mtime,最近修改时间(秒);
    • st_ctime,元数据最近更改的时间(秒);
    • st_atime_ns,最近访问时间(纳秒);
    • st_mtime_ns,最近修改时间(纳秒);
    • st_ctime_ns,元数据最近更改的时间(纳秒);
    • st_birthtime,文件创建时间(秒);
    • st_birthtime_ns,文件创建时间(纳秒);
    • st_blocks,文件的字节块数,每块512字节;
    • st_blksize,块大小;
    • st_rdev,设备类型;
    • st_flags,用户定义的文件标志位;
    • st_gen,文件生成号;
    • st_fstype,文件所在的文件系统的类型的唯一标识符;
    • st_rsize,文件的实际大小;
    • st_creator,文件的创建者;
    • st_type,文件类型;

    上述时间属性的值依赖于操作系统的精度。

  • os.statvfs(path) 返回所在的文件系统信息。仅Unix可用。

    >>> os.statvfs(".")
    os.statvfs_result(f_bsize=4096, f_frsize=4096, f_blocks=244186111, f_bfree=83501754, f_bavail=83501754, f_files=999, f_ffree=1000000, f_favail=1000000, f_flag=1024, f_namemax=255)
    

8.9 文件状态修改

文件标志位

  • os.chflags(path, flags, *, follow_symlinks=True)
    把path的flags设置为其他由数字表示的flags。
    flags的值在stat模块中定义。
  • os.lchflags(path, flags) 把path的flags设置为其他数字表示的flags。

文件权限

  • os.chmod(path, mode, *, dir_fd=None, follow_symlinks=True) 把path的权限改为其他mode表示的权限。
    mode的可选值在stat模块中定义。
  • os.lchmod(path, mode) 把path的mode改为其他数字表示的mode。
    等效于os.chmod(path, mode, follow_symlinks=False)

文件所属用户和组

  • os.chown(path, uid, gid, *, dir_fd=None, follow_symlinks=True)
    修改path的用户和组ID。uid、gid设置为-1时表示不做修改。

  • os.lchown(path, uid, gid) 修改path的用户和组ID。
    等效于os.chown(path, uid, gid, follow_symlinks=False)

  • os.utime(path, times=None, *, [ns, ]dir_fd=None, follow_symlinks=True) 设置文件的访问时间和修改时间。
    times不为None时,必须是(atime, mtime)形式的二元组,成员是表示秒的整数或浮点数。
    times为None,指定ns时,ns必须是纳秒组成的二元组(atime_ns, mtime_ns)
    times为None且未指定ns时,相当于以当前时间指定ns=(atime_ns, mtime_ns)
    同时指定times和ns会出错。

其它

  • os.sync() 强制将所有内容写入磁盘。
  • os.truncate(path, length) 截断文件,使其最大为length大小。

8.10 浏览Windows的驱动器、卷、挂载点

  • os.listdrives() 返回系统的驱动器名称列表。

    >>> os.listdrives()
    ['C:\\', 'D:\\']
    
  • os.listvolumes() 返回一个包含系统中卷的列表。

  • os.listmounts(volume) 返回指定卷的挂载点的列表。
    volume必须是GUID路径,如os.listvolumes()返回的值。

    >>> os.listvolumes()
    ['\\\\?\\Volume{02cf02ce-0000-0000-0000-100000000000}\\', '\\\\?\\Volume{d29ac86d-e09b-40da-b12c-87d386a77303}\\', '\\\\?\\Volume{fc57ca93-ead3-4d89-9578-543426fafadf}\\', '\\\\?\\Volume{836efff0-1021-4a45-8c98-aa445d4d836a}\\']
    >>> os.listmounts(os.listvolumes()[1])
    ['C:\\']
    

8.11 系统配置信息

  • os.pathconf(path, name)
    返回所给名称的文件的系统配置信息。

  • os.pathconf_names 当前系统定义的配置名称字典。
    os.pathconf()os.fpathconf()两个函数可接受的名称和整数值之间的映射。

    >>> os.pathconf_names
    {'PC_ALLOC_SIZE_MIN': 18, 'PC_ASYNC_IO': 10, 'PC_CHOWN_RESTRICTED': 6, 'PC_FILESIZEBITS': 13, 'PC_LINK_MAX': 0, 'PC_MAX_CANON': 1, 'PC_MAX_INPUT': 2, 'PC_NAME_MAX': 3, 'PC_NO_TRUNC': 7, 'PC_PATH_MAX': 4, 'PC_PIPE_BUF': 5, 'PC_PRIO_IO': 11, 'PC_REC_INCR_XFER_SIZE': 14, 'PC_REC_MAX_XFER_SIZE': 15, 'PC_REC_MIN_XFER_SIZE': 16, 'PC_REC_XFER_ALIGN': 17, 'PC_SOCK_MAXBUF': 12, 'PC_SYMLINK_MAX': 19, 'PC_SYNC_IO': 9, 'PC_VDISABLE': 8}
    

以上是os模块关于文件和目录操作的一部分函数的整理。
该模块的其他内容参考:
os模块:环境变量、进程所属的用户和组
os模块:进程管理
os模块:调度策略、系统信息
os模块:文件和目录1
os模块:文件描述符操作1
os模块:文件描述符操作2

相关文章:

Python标准库【os】5 文件和目录操作2

文章目录 8 文件和目录操作8.7 浏览目录下的内容8.8 查看文件或目录的信息8.9 文件状态修改文件标志位文件权限文件所属用户和组其它 8.10 浏览Windows的驱动器、卷、挂载点8.11 系统配置信息 os模块提供了各种操作系统接口。包括环境变量、进程管理、进程调度、文件操作等方面…...

相控阵雷达

相控阵雷达 **1. 基本概念与数学模型**(1) **阵列信号模型**(2) **波束形成原理** **2. 经典波束形成算法****(1) 常规波束形成&#xff08;Conventional Beamforming, CBF&#xff09;****(2) 自适应波束形成&#xff08;Adaptive Beamforming&#xff09;****2.1 最小方差无失…...

Java 大视界 -- 基于 Java 的大数据分布式缓存一致性维护策略解析(109)

&#x1f496;亲爱的朋友们&#xff0c;热烈欢迎来到 青云交的博客&#xff01;能与诸位在此相逢&#xff0c;我倍感荣幸。在这飞速更迭的时代&#xff0c;我们都渴望一方心灵净土&#xff0c;而 我的博客 正是这样温暖的所在。这里为你呈上趣味与实用兼具的知识&#xff0c;也…...

AI: Cursor是否已奠定AI开发环境的龙头地位?

近年来&#xff0c;人工智能&#xff08;AI&#xff09;在软件开发领域的应用迅速升温&#xff0c;而Cursor作为一款AI驱动的代码编辑器&#xff0c;凭借其创新功能和市场表现&#xff0c;引发了广泛讨论。许多人认为&#xff0c;Cursor已经奠定了AI开发环境的龙头地位。然而&a…...

PHP:IDEA开发工具配置XDebug,断点调试

文章目录 一、php.ini配置二、IDEA配置 一、php.ini配置 [xdebug] zend_extension"F:\wamp64\bin\php\php7.4.0\ext\php_xdebug-2.8.0-7.4-vc15-x86_64.dll" xdebug.remote_enable on xdebug.remote_host 127.0.0.1 xdebug.remote_port 9001 xdebug.idekey"…...

回忆Redis的持久化机制

Redis的持久化机制 前言RDB触发方式配置方式手动触发bgsave的执行流程 缺点 AOF重写机制触发方式手动触发自动触发 MP-AOF RDB和AOF混合模式 前言 大家都知道&#xff0c;Redis是内存数据库&#xff0c;也就是说client与Redis交互的过程&#xff0c;无论是读key还是写key都是直…...

partner‘127.0.0.1:3200‘ not reached

在SAP虚拟机中&#xff0c;如果LRPSAP 0显示黄色&#xff0c;通常表示服务启动异常或存在配置问题。以下是一些可能的处理方法&#xff1a; 检查主机文件配置 确保主机文件&#xff08;hosts&#xff09;中已正确配置SAP服务的域名解析。例如&#xff0c;添加以下内容到hosts文…...

网络配置的基本信息

目录 一、网络接口信息 1、关闭虚拟化服务 2、配置临时IP 3、配置静态IP 4、常见网络命令 5、安装Wireshark 一、网络接口信息 输入 ip address&#xff0c;会出现下面的内容 网卡名称及其含义&#xff1a; 网卡名称说明lo 表示本地回环地址。 ens32 有线网卡&#xff0c…...

SpringBoot集成Mybatis(包括Mybatis-Plus)和日志

一、使用Mybatis 1.添加依赖 <!--Mybatis--><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>2.2.0</version> <!-- 选择与Java 8兼容的版本 --&g…...

如何在 IntelliJ IDEA 中集成 DeepSeek

如何在 IntelliJ IDEA 中集成 DeepSeek 在本教程中&#xff0c;我们将带您一步步完成将 DeepSeek 集成到 IntelliJ IDEA 中的过程。通过此集成&#xff0c;您可以在IDE中利用DeepSeek强大的功能&#xff0c;提高开发工作效率。 步骤 1&#xff1a;安装 Proxy AI 插件 首先&a…...

【自学笔记】大数据基础知识点总览-持续更新

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 大数据基础知识点总览1. 大数据概述2. 大数据处理技术3. 数据仓库与数据挖掘4. 大数据分析与可视化5. 大数据平台与架构6. 大数据安全与隐私 总结 大数据基础知识点…...

AWS ALB 实现灰度验证指南:灵活流量分配与渐进式发布

AWS Application Load Balancer (ALB) 作为七层负载均衡器,支持基于权重或内容的路由策略,是实施灰度验证(金丝雀发布)的核心工具。通过将部分流量导向新版本后端,可以安全验证功能稳定性。以下是使用 ALB 实现灰度发布的详细方案。 © ivwdcwso (ID: u012172506) 一…...

专线物流公共服务平台:全面提升专线物流效率

专线物流公共服务平台&#xff1a;全面提升专线物流效率 在物流行业高速发展的今天&#xff0c;专线物流作为物流供应链的重要环节&#xff0c;面临着效率低下、成本高企、信息孤岛等痛点。临沂呆马区块链网络科技有限公司&#xff08;简称“呆马科技”&#xff09;凭借其在大…...

行为型模式 - 观察者模式 (Publish/Subscribe)

行为型模式 - 观察者模式 (Publish/Subscribe) 又称作为订阅发布模式&#xff08;Publish-Subscribe Pattern&#xff09;是一种消息传递模式&#xff0c;在该模式中&#xff0c;发送者&#xff08;发布者&#xff09;不会直接将消息发送给特定的接收者&#xff08;订阅者&…...

HTTP/2 服务器端推送:FastAPI实现与前端集成指南

HTTP/2 服务器端推送&#xff1a;FastAPI实现与前端集成指南 注意&#xff1a;本文末尾附有完整示例代码&#xff0c;文中仅展示核心关键代码。完整代码可在GitHub仓库获取。 本文将会讲解HTTP2协议和相关配置实践。但是不要混淆&#xff0c;SSE的实现完全基于HTTP/1.1的持久连…...

C++ 变量的输入输出教程

一、变量的基本概念 在 C 中&#xff0c;变量是用于存储数据的命名内存位置。在使用变量之前&#xff0c;需要先声明它的类型和名称&#xff0c;这样编译器才能为其分配适当大小的内存空间。例如&#xff1a; int age; // 声明一个整型变量 age double salary; // 声明一个…...

java作业

java作业 一. package shiyanbaogao; ​ import java.util.Scanner; ​ //给20块钱买可乐&#xff0c;每瓶可乐3块钱&#xff0c;喝完之后退瓶子可以换回1块钱&#xff0c;问最多可以喝到多少瓶可乐。请设计相应的Java程序。 public class BaoGaoDemo02 {public static void …...

LeeCode题库第四十题

40.组合总和II 项目场景&#xff1a; 给定一个候选人编号的集合 candidates 和一个目标数 target &#xff0c;找出 candidates 中所有可以使数字和为 target 的组合。 candidates 中的每个数字在每个组合中只能使用 一次 。 注意&#xff1a;解集不能包含重复的组合。 示…...

list的模拟实现

目录 一、构造和扩容机制 二、普通迭代器 三、const迭代器 四、tip 有了前面vetcor的基础呢&#xff0c;我们在学习和使用list上就更加的方便快捷&#xff0c;浅显易懂了&#xff0c;所以相似的部分我就不做过多的言语阐述了&#xff0c;在使用方面呢&#xff0c;大家可以学…...

pandas DataFrame 数据筛选与排序

数据筛选&#xff1a; df[df[列标签] > xxx] 使用 &(与) |(或) 拼接多个条件代码应用&#xff1a; ​ &(与)应用 # 引用 pandas import pandas as pd # 定义数据 data {"产品":["男装","女装","男鞋","女鞋"…...

elpis全栈课程学习之elpis-core学习总结

elpis全栈课程学习之elpis-core学习总结 核心原理 elpis-core是全栈框架elpis的服务端内核&#xff0c;主要应用于服务端接口的开发以及页面的SSR渲染&#xff0c;elpis-core基于约定优于配置的原理&#xff0c;通过一系列的loader来加载对应的文件&#xff0c;大大节约用户的…...

零基础deep seek+剪映,如何制作高品质的视频短片

以下是专为零基础学习者设计的 剪映专业版详细教程&#xff0b;Deep seek配合制 &#xff0c;包含从入门到精通的系统化教学&#xff0c;配合具体操作步骤与实用技巧&#xff1a; 基于DeepSeek与剪映协同制作高品质视频短片的专业流程指南&#xff08;2025年最新实践版&#x…...

解决单元测试 mock final类报错

文章目录 前言解决单元测试 mock final类报错1. 报错原因2. 解决方案3. 示例demo4. 扩展 前言 如果您觉得有用的话&#xff0c;记得给博主点个赞&#xff0c;评论&#xff0c;收藏一键三连啊&#xff0c;写作不易啊^ _ ^。   而且听说点赞的人每天的运气都不会太差&#xff0…...

Git基本命令索引

GIT基本命令索引 创建代码库修改和提交代码日志管理远程操作操作分支 创建代码库 操作指令初始化仓库git init克隆远程仓库git clone 修改和提交代码 操作指令查看文件状态git status文件暂存git add文件比较git diff文件提交git commit回滚版本git reset重命名或者移动工作…...

非平稳时间序列分析(二)——ARIMA(p, d, q)模型

此前篇章&#xff08;平稳序列&#xff09;&#xff1a; 时间序列分析&#xff08;一&#xff09;——基础概念篇 时间序列分析&#xff08;二&#xff09;——平稳性检验 时间序列分析&#xff08;三&#xff09;——白噪声检验 时间序列分析&#xff08;四&#xff09;—…...

[代码规范]接口设计规范

一个优雅的接口要如何设计&#xff1f;有哪些设计规范可以遵循&#xff1f; 下面抛砖引玉&#xff0c;分享一些规范。 目录 1、RESTful API 设计最佳实践 2、Shneiderman 的 8 条黄金法则 3、Nielsen 的 10 条启发式规则 1、RESTful API 设计最佳实践 一共18条&#xff0c;参考…...

4-3自定义加载器,并添加功能

一、自定义类加载器的实现步骤 ​继承ClassLoader类​ 自定义类加载器需继承java.lang.ClassLoader&#xff0c;并选择性地重写以下方法&#xff1a; ​findClass(String name)&#xff1a;核心方法&#xff0c;用于根据类名查找并加载类的字节码。需从自定义路径&#xff08…...

北京大学DeepSeek提示词工程与落地场景(PDF无套路免费下载)

近年来&#xff0c;大模型技术飞速发展&#xff0c;但许多用户发现&#xff1a;即使使用同一款 AI 工具&#xff0c;效果也可能天差地别——有人能用 AI 快速生成精准方案&#xff0c;有人却只能得到笼统回答。这背后的关键差异&#xff0c;在于提示词工程的应用能力。 北京大…...

SSH密码更改

Windows User目录下的.ssh/config&#xff0c;全部删除 linux 在主用户文件夹&#xff0c;ctrlh显示隐藏文件。删除.shh文件夹内所有文件。...

蓝桥备赛(四)- 数组(下)

一 、 字符数组 1.1 介绍 数组的元素如果是字符类型 &#xff0c; 这种数组就是字符数组 &#xff0c; 字符数组可以是一维数组 &#xff0c; 可以是二维数组 (多维数组)。 接下来主要讨论一维的字符数组 : char arr1[5] //一维数组 char arr2[3][5] // 二维数组 C语言 中…...

基金 word-->pdf图片模糊的解决方法

1. 首先需要Adobe或福昕等pdf阅读器。 2. word中 [文件]--[打印]&#xff0c;其中打印机选择pdf阅读器&#xff0c;例如此处我选择福昕阅读器。 3. 选择 [打印机属性]--[编辑]--[图像]&#xff0c;将所有的采样、压缩均设置为 关闭。点击[另存为]&#xff0c;保存为 基金报告…...

身为小兵,如何提升不可替代性?

之前聊过,研发、PIE、PE、可靠性等岗位,主要是对物的工作, 这类岗位,如何提升不可替代性? 我的经验是,学会识别创造性工作or重复性工作。 尽可能地做创造性工作,推重复性工作。 销售、采购、HR等岗位,主要是对人的工作, 这类岗位,如何提升不可替代性? 我的思考…...

easyExcel使用案例有代码

easyExcel 入门,完成web的excel文件创建和导出 easyExcel官网 EasyExcel 的主要特点如下&#xff1a; 1、高性能&#xff1a;EasyExcel 采用了异步导入导出的方式&#xff0c;并且底层使用 NIO 技术实现&#xff0c;使得其在导入导出大数据量时的性能非常高效。 2、易于使…...

linux服务器更新jar包脚本

【需求】Java每次发布新的版本都需要先kill掉原来的服务&#xff0c;然后再启动新的包 有了这个脚本只需要把包替换掉&#xff0c;服务会自动kill 以8184 为例 完整的脚本如下 #!/bin/bash# 检查端口 8184 是否被占用 PORT8184 PID$(lsof -t -i:$PORT)if [ -n "$PID…...

Tomcat 乱码问题彻底解决

1. 终端乱码问题 找到 tomcat 安装目录下的 conf —> logging.properties .修改ConsoleHandler.endcoding GBK &#xff08;如果在idea中设置了UTF-8字符集&#xff0c;这里就不需要修改&#xff09; 2. CMD命令窗口设置编码 参考&#xff1a;WIN10的cmd查看编码方式&…...

dify绑定飞书多维表格

dify 绑定飞书和绑定 notion 有差不多的过程&#xff0c;都需要套一层应用的壳子&#xff0c;而没有直接可以访问飞书文档的 API。本文记录如何在dify工具中使用新增多条记录工具。 创建飞书应用 在飞书开放平台创建一个应用&#xff0c;个人用户创建企业自建应用。 自定义应…...

深入浅出:插入排序算法完全解析

1. 什么是插入排序&#xff1f; 插入排序&#xff08;Insertion Sort&#xff09;是一种简单的排序算法&#xff0c;其基本思想与我们整理扑克牌的方式非常相似。我们将扑克牌从第二张开始依次与前面已排序的牌进行比较&#xff0c;将其插入到合适的位置&#xff0c;直到所有牌…...

MySQL--DQL、DML、DDL、DCL概念与区别

在SQL中&#xff0c;根据功能和操作对象的不同&#xff0c;通常将语文分为四大类&#xff1a;DQL&#xff08;数据查询语言&#xff09;、DML&#xff08;数据操作语言&#xff09;、DDL&#xff08;数据定义语言&#xff09;、DCL&#xff08;数据控制语言&#xff09; 一、D…...

【设计原则】里氏替换原则(LSP):构建稳健继承体系的黄金法则

深入理解里氏替换原则&#xff08;LSP&#xff09;及其在C#中的实践 一、什么是里氏替换原则&#xff1f;二、为什么需要LSP&#xff1f;三、经典违反案例&#xff1a;矩形与正方形问题四、正确的设计实践方案1&#xff1a;通过接口分离方案2&#xff1a;使用抽象类 五、LSP的关…...

SQL的select语句完整的执行顺序

SQL的SELECT语句的执行顺序可以用"做菜流程"来类比理解。虽然我们写SQL时按SELECT…FROM…WHERE…顺序写&#xff0c;但数据库执行顺序完全不同。以下是通俗易懂的讲解&#xff08;附流程图和示例&#xff09;&#xff1a; &#x1f527; 执行顺序流程图&#xff1a…...

【Vue3】浅谈setup语法糖

Vue3 的 setup 语法糖是通过 <script setup> 标签启用的特性&#xff0c;它是对 Composition API 的进一步封装&#xff0c;旨在简化组件的声明式写法&#xff0c;同时保留 Composition API 的逻辑组织能力。以下是其核心概念和原理分析&#xff1a; 一、<script setu…...

算法-二叉树篇27-把二叉搜索树转换为累加树

把二叉搜索树转换为累加树 力扣题目链接 题目描述 给出二叉 搜索 树的根节点&#xff0c;该树的节点值各不相同&#xff0c;请你将其转换为累加树&#xff08;Greater Sum Tree&#xff09;&#xff0c;使每个节点 node 的新值等于原树中大于或等于 node.val 的值之和。 提…...

FPGA开发,使用Deepseek V3还是R1(3):系统级与RTL级

以下都是Deepseek生成的答案 FPGA开发&#xff0c;使用Deepseek V3还是R1&#xff08;1&#xff09;&#xff1a;应用场景 FPGA开发&#xff0c;使用Deepseek V3还是R1&#xff08;2&#xff09;&#xff1a;V3和R1的区别 FPGA开发&#xff0c;使用Deepseek V3还是R1&#x…...

《国密算法开发实战:从合规落地到性能优化》

前言 随着信息技术的飞速发展,信息安全已成为全球关注的焦点。在数字化时代,数据的保密性、完整性和可用性直接关系到国家、企业和个人的利益。为了保障信息安全,密码技术作为核心支撑,发挥着至关重要的作用。国密算法,即国家密码算法,是我国自主设计和推广的一系列密码…...

DeepSeek开源周Day5压轴登场:3FS与Smallpond,能否终结AI数据瓶颈之争?

2025年2月28日&#xff0c;DeepSeek开源周迎来了第五天&#xff0c;也是本次活动的收官之日。自2月24日启动以来&#xff0c;DeepSeek团队以每天一个开源项目的节奏&#xff0c;陆续向全球开发者展示了他们在人工智能基础设施领域的最新成果。今天&#xff0c;他们发布了Fire-F…...

Linux:进程替换

目录 进程程序替换 替换原理 进程替换相关函数 环境变量与进程替换函数 命令行解释器(my_xshell) 进程程序替换 上一篇进程控制讲到&#xff0c;父进程创建子进程就是为了让子进程去做一些另外的事情&#xff0c;但是不管怎么说&#xff0c;子进程的部分代码也还是父进程…...

CSS 日常开发常用属性总结

文章目录 CSS 日常开发常用属性总结一、 常用 CSS 属性1、布局相关&#xff08;1&#xff09;display&#xff1a;&#xff08;2&#xff09;position&#xff1a;&#xff08;3&#xff09;float&#xff1a;&#xff08;4&#xff09;clear&#xff1a; 2、尺寸与溢出&#x…...

Python 绘制迷宫游戏,自带最优解路线

1、需要安装pygame 2、上下左右移动&#xff0c;空格实现物体所在位置到终点的路线&#xff0c;会有虚线绘制。 import pygame import random import math# 迷宫单元格类 class Cell:def __init__(self, x, y):self.x xself.y yself.walls {top: True, right: True, botto…...

了解Java集合的概念和体系:Collection<T>、Collections与Stream的使用

学习目标 本文知识是对集合层级的介绍&#xff0c;应用开发中实际使用的是他们的子级&#xff0c;感兴趣的小伙伴或者想深入了解有关Java集合知识的朋友可以选择阅读&#xff01; Stream的方法使用使用部分代码块内大多有两种实现方式&#xff0c;是为了更好的理解方法底层的代…...

扫描局域网可用端口

site: https://mengplus.top #SiliconFlow : 在Linux系统&#xff0c;你可以使用一个简单的Bash脚本来扫描局域网中可用的端口。这个脚本可以使用nmap工具来实现。nmap是一个强大的网络扫描工具&#xff0c;可以用来探测网络中的主机和端口。 以下是一个简单的Bash脚本&#…...