os模块篇(十一)
文章目录
- os.chdir(path)
- os.chmod(path, mode, *, dir_fd=None, follow_symlinks=True)
- os.chown(path, uid, gid, *, dir_fd=None, follow_symlinks=True)
- os.getcwd()
- os.getcwdb()
- os.lchflags(path, flags)
- os.lchmod(path, mode)
- os.lchown(path, uid, gid)
os.chdir(path)
os.chdir(path) 是 Python 中 os 模块的一个函数,用于改变当前工作目录到指定的路径。这里的 path 是一个字符串,表示要切换到的目录的路径。
当你调用 os.chdir(path) 时,Python 解释器将把当前工作目录(Current Working Directory, CWD)更改为 path 所指定的目录。这意味着,后续的文件操作(如打开文件、读取文件等)将相对于这个新的工作目录进行,除非你使用了绝对路径。
这里有一个简单的例子,展示了如何使用 os.chdir() 来改变当前工作目录:
import os# 获取当前工作目录
current_dir = os.getcwd()
print(f"当前工作目录: {current_dir}")# 改变工作目录
os.chdir("/path/to/new/directory")# 再次获取当前工作目录,应该已经改变
new_dir = os.getcwd()
print(f"新的工作目录: {new_dir}")# 你可以在这里执行其他文件操作,它们将相对于新的工作目录
请注意,os.chdir() 函数不会返回任何值(即返回 None)。它仅仅改变 Python 解释器的当前工作目录。如果指定的路径不存在,os.chdir() 将引发一个 FileNotFoundError 异常。
此外,如果你在一个线程中改变了工作目录,这个改变只会影响那个特定的线程。其他线程不会看到这种改变,它们将继续使用它们自己的工作目录。
在实际编程中,为了避免混淆和错误,最好总是使用绝对路径来打开文件,而不是依赖于当前工作目录。这样,你的代码将更加健壮和可移植。
os.chmod(path, mode, *, dir_fd=None, follow_symlinks=True)
os.chmod(path, mode, *, dir_fd=None, follow_symlinks=True) 是 Python 的 os 模块中的一个函数,用于改变指定路径(文件或目录)的权限。这个函数可以直接修改文件系统的权限位。
参数说明:
- path:要修改权限的路径(文件或目录)。
- mode:新的权限模式,通常使用八进制数表示。这个数值是由用户读、写、执行(os.R_OK, os.W_OK, os.X_OK),组读、写、执行,以及其他读、写、执行权限位组合而成的。
- dir_fd(可选):一个文件描述符,用于解释相对路径。如果提供,path 应该是相对于该文件描述符所指目录的相对路径。
follow_symlinks(可选):如果为 True,并且 path 是一个符号链接,那么将修改符号链接指向的原始文件或目录的权限。如果为 False,则直接修改符号链接本身的权限。默认为 True。
例如,如果你想要将一个文件设置为只有用户(owner)可以读写,而其他用户没有任何权限,你可以这样做:
import os
import stat# 设置文件权限为只有用户可读写
new_mode = stat.S_IRUSR | stat.S_IWUSR
os.chmod("/path/to/file", new_mode)
在上面的代码中,stat.S_IRUSR 和 stat.S_IWUSR 分别表示用户读和用户写的权限位。
需要注意的是,修改文件或目录的权限可能需要相应的权限。如果你没有足够的权限去修改一个文件或目录的权限,os.chmod() 将抛出一个 PermissionError 异常。
此外,使用 os.chmod() 时要小心,确保你了解你正在做什么,因为错误的权限设置可能会影响到系统的安全性或文件的可用性。
os.chown(path, uid, gid, *, dir_fd=None, follow_symlinks=True)
os.chown(path, uid, gid, *, dir_fd=None, follow_symlinks=True) 是 Python 的 os 模块中的一个函数,用于改变指定路径(文件或目录)的所有者和/或组。这个函数允许你更改文件或目录的所有权,以匹配不同的用户 ID (uid) 和组 ID (gid)。
参数说明:
- path:要修改所有权的路径(文件或目录)。
- uid:新的所有者的用户 ID。可以使用用户名或用户 ID 来指定。
- gid:新的所有者的组 ID。可以使用组名或组 ID 来指定。
- dir_fd(可选):一个文件描述符,用于解释相对路径。如果提供,path 应该是相对于该文件描述符所指目录的相对路径。
- follow_symlinks(可选):如果为 True,并且 path 是一个符号链接,那么将修改符号链接指向的原始文件或目录的所有权。如果为 False,则直接修改符号链接本身的所有权。默认为 True。
这里有一个使用 os.chown() 的例子:
import os
import pwd
import grp# 获取用户和组信息
user_name = 'newuser'
group_name = 'newgroup'try:# 获取用户ID和组IDuid = pwd.getpwnam(user_name).pw_uidgid = grp.getgrnam(group_name).gr_gid# 改变文件的所有者和组os.chown('/path/to/file', uid, gid)print(f"Changed ownership of '/path/to/file' to user '{user_name}' and group '{group_name}'.")
except KeyError:print(f"User or group not found: {user_name} or {group_name}")
except PermissionError:print("Permission denied. You do not have permission to change the ownership of the file.")
在上面的代码中,pwd.getpwnam(user_name).pw_uid 和 grp.getgrnam(group_name).gr_gid 分别用于获取指定用户名和组名的用户 ID 和组 ID。然后,os.chown() 函数被用来更改文件的所有者和组。
请注意,更改文件或目录的所有权通常需要超级用户(root)权限。如果你没有适当的权限,os.chown() 可能会引发 PermissionError 异常。
另外,需要注意的是,虽然 os.chown() 允许你更改文件的所有权,但在多用户环境中,随意更改文件的所有权可能会导致安全问题或不可预测的行为。因此,在更改文件所有权之前,请确保你了解为什么要这样做,以及这样做可能带来的后果。
os.getcwd()
os.getcwd() 是 Python 中 os 模块的一个函数,用于获取当前工作目录(Current Working Directory, CWD)的完整路径。这个路径是一个字符串,表示 Python 解释器当前所在的目录。
当你执行 os.getcwd() 时,它将返回一个字符串,该字符串表示当前工作目录的路径。这个路径是一个绝对路径,即从文件系统的根目录开始的完整路径。
下面是一个简单的例子,展示了如何使用 os.getcwd() 来获取并打印当前工作目录:
import os# 获取当前工作目录
current_working_directory = os.getcwd()# 打印当前工作目录
print(f"当前工作目录是: {current_working_directory}")
当你运行上面的代码时,它将输出类似以下的结果(具体路径取决于你当前的工作目录):
当前工作目录是: /home/username/my_project
os.getcwd() 函数在需要基于当前工作目录进行文件操作时非常有用,例如当你想要读取或写入相对于当前工作目录的文件时。然而,依赖当前工作目录可能会导致代码的行为在不同的环境中有所不同,因此最佳实践通常是使用绝对路径来指定文件的位置。
请注意,os.getcwd() 函数不会改变当前工作目录,它只是返回当前工作目录的路径。如果程序没有设置工作目录(例如,在脚本开始时或在一个新创建的线程中),os.getcwd() 可能会返回程序启动时的默认工作目录,这通常是脚本所在的目录或系统的某个标准目录(如 /)。
os.getcwdb()
os.getcwdb() 是 Python 的 os 模块中的一个函数,它用于获取当前工作目录(Current Working Directory, CWD)的字节串表示。与 os.getcwd() 不同,os.getcwdb() 返回的是字节串(bytes),而 os.getcwd() 返回的是字符串(str)。
这个函数通常用于那些需要字节串路径的场景,比如与某些底层系统调用或处理非 Unicode 文件路径时。
下面是使用 os.getcwdb() 的例子:
import os# 获取当前工作目录的字节串表示
current_working_directory_bytes = os.getcwdb()# 打印当前工作目录的字节串表示
print(f"当前工作目录的字节串表示是: {current_working_directory_bytes}")
在大多数情况下,你不需要特别关心是使用字符串还是字节串来表示路径,因为 Python 的 os 模块提供了足够的函数来处理这两种类型的路径。然而,在某些特定的情况下,如与底层系统接口交互时,你可能需要字节串形式的路径。
与 os.getcwd() 类似,os.getcwdb() 不会更改当前工作目录,它只是返回当前工作目录的字节串表示。
最后需要注意的是,虽然 os.getcwdb() 提供了字节串形式的路径,但在 Python 3 中,推荐使用字符串形式的路径,并使用 os.path 模块中的函数来处理路径的转换和组合。这有助于保持代码的可读性和可维护性,同时减少由于编码问题导致的错误。
os.lchflags(path, flags)
os.lchflags(path, flags) 是 Python 的 os 模块中的一个函数,用于在 macOS 系统上设置文件或目录的“logical flags”。这些标志提供了关于文件或目录的元数据,如是否该文件应该被备份,是否是站点的特定文件等。os.lchflags() 是在 macOS 上特有的功能,并且在其他操作系统上可能不可用。
参数说明:
- path:要设置标志的文件或目录的路径。
- flags:要设置的标志。这可以是一个整数,代表多个标志的按位或组合,或者是通过 stat 模块中定义的常量,例如 stat.UF_NODUMP。
示例用法:
import os
import stat# 禁用文件备份
os.lchflags('/path/to/file', stat.UF_NODUMP)# 启用文件备份
os.lchflags('/path/to/file', 0)
在上面的例子中,stat.UF_NODUMP 是一个标志,用于指示系统不应备份该文件。通过传递 0 作为标志,我们可以清除该标志,允许文件被备份。
需要注意的是,os.lchflags() 需要足够的权限才能更改文件的标志。如果调用进程没有足够的权限,该函数可能会引发 PermissionError 异常。
此外,os.lchflags() 只对 macOS 系统有效。如果你尝试在其他操作系统(如 Linux 或 Windows)上调用它,将会引发 AttributeError 异常,因为这些系统不支持这个特定的函数。
在编写跨平台的代码时,应该考虑到这一点,并避免在不支持 os.lchflags() 的系统上调用它。可以使用条件语句来检查函数是否存在,或者编写替代逻辑来处理不同操作系统的行为。
os.lchmod(path, mode)
os.lchmod(path, mode) 是 Python 的 os 模块中的一个函数,用于更改符号链接本身的权限,而不是链接指向的目标文件的权限。这个函数在 Unix-like 系统(如 Linux 和 macOS)上可用,因为它依赖于底层系统对符号链接权限的支持。
参数说明:
- path:要更改权限的符号链接的路径。
- mode:新的权限模式,通常是一个八进制数。例如,0o755 表示用户有读、写和执行权限,而组有读和执行权限,其他人也有读和执行权限。
示例用法:
import os
import stat# 更改符号链接的权限
os.lchmod('/path/to/symlink', 0o755)
在这个例子中,我们设置了符号链接 /path/to/symlink 的权限,使得拥有者有读、写和执行权限,而组和其他用户只有读和执行权限。
需要注意的是,os.lchmod() 只影响符号链接本身,而不影响链接指向的实际文件。如果你想要更改符号链接指向的文件的权限,应该使用 os.chmod() 函数。
此外,与 os.chmod() 类似,os.lchmod() 需要足够的权限才能更改链接的权限。如果调用进程没有足够的权限,该函数可能会引发 PermissionError 异常。
这个函数在 Windows 上不可用,因为 Windows 系统不支持对符号链接本身设置权限。在跨平台代码中,应该考虑到这一点,并编写相应的条件逻辑来处理不同操作系统的行为。
os.lchown(path, uid, gid)
os.lchown(path, uid, gid) 是 Python 的 os 模块中的一个函数,用于更改符号链接(symlink)的所有者(user ID, uid)和组(group ID, gid)。这个函数在 Unix-like 系统(如 Linux 和 macOS)上可用,因为它依赖于底层系统对符号链接所有者和组的支持。
参数说明:
- path:要更改所有者和组的符号链接的路径。
- uid:新的所有者的用户 ID。通常,你可以使用 os.getuid() 获取当前进程的用户 ID,或者使用 pwd.getpwnam(username).pw_uid 获取指定用户名的用户 ID。
- gid:新的组的组 ID。类似地,你可以使用 os.getgid() 获取当前进程的组 ID,或者使用 grp.getgrnam(groupname).gr_gid 获取指定组名的组 ID。
示例用法:
import os
import pwd
import grp# 获取当前用户的用户ID和组ID
current_uid = os.getuid()
current_gid = os.getgid()# 更改符号链接的所有者和组
os.lchown('/path/to/symlink', current_uid, current_gid)# 或者,使用用户名和组名来获取用户ID和组ID
username = 'your_username'
groupname = 'your_groupname'user_id = pwd.getpwnam(username).pw_uid
group_id = grp.getgrnam(groupname).gr_gidos.lchown('/path/to/symlink', user_id, group_id)
在这个例子中,我们更改了符号链接 /path/to/symlink 的所有者和组,使其与当前进程的所有者和组相同。我们也展示了如何使用用户名和组名来查找对应的用户 ID 和组 ID。
请注意,os.lchown() 只影响符号链接本身的所有者和组,而不是链接指向的实际文件。如果你想要更改符号链接指向的文件的所有者和组,应该使用 os.chown() 函数。
此外,os.lchown() 需要足够的权限才能更改链接的所有者和组。如果调用进程没有足够的权限,该函数可能会引发 PermissionError 异常。
这个函数在 Windows 上不可用,因为 Windows 系统不支持更改符号链接的所有者和组。在跨平台代码中,应该考虑到这一点,并编写相应的条件逻辑来处理不同操作系统的行为。
相关文章:
os模块篇(十一)
文章目录 os.chdir(path)os.chmod(path, mode, *, dir_fdNone, follow_symlinksTrue)os.chown(path, uid, gid, *, dir_fdNone, follow_symlinksTrue)os.getcwd()os.getcwdb()os.lchflags(path, flags)os.lchmod(path, mode)os.lchown(path, uid, gid) os.chdir(path) os.chdi…...
编译amd 的 amdgpu 编译器
1,下载源码 git clone --recursive https://github.com/ROCm/llvm-project.git 2, 配置cmake cmake -G "Unix Makefiles" ../llvm \ -DLLVM_ENABLE_PROJECTS"clang;clang-tools-extra;compiler-rt" \ -DLLVM_BUILD_EXAMPLESON …...
github 多个账号共享ssh key 的设置方法
确认本机是否已有ssh key 首先确认自己系统内有没有 ssh key。 bash复制代码cd ~/.ssh ls *.pub # 列出所有公钥文件id_rsa.pub若有,确认使用当前 key 或者生成新 key,若没有,生成新 key。由于我需要登录两个帐号,所以在已经存在…...
dm8修改sysdba用户的密码
1 查看达梦数据库版本 SQL> select * from v$version;LINEID BANNER ---------- --------------------------------- 1 DM Database Server 64 V8 2 DB Version: 0x7000c 3 03134283904-20220630-163817-200052 …...
基于boost准标准库的搜索引擎项目
零 项目背景/原理/技术栈 1.介绍boost准标准库 2.项目实现效果 3.搜索引擎宏观架构图 这是一个基于Web的搜索服务架构 客户端-服务器模型:采用了经典的客户端-服务器模型,用户通过客户端与服务器交互,有助于集中管理和分散计算。简单的用户…...
语言模型进化史(下)
由于篇幅原因,本文分为上下两篇,上篇主要讲解语言模型从朴素语言模型到基于神经网络的语言模型,下篇主要讲解现代大语言模型以及基于指令微调的LLM。文章来源是:https://www.numind.ai/blog/what-are-large-language-models 四、现…...
设计模式之旅:工厂模式全方位解析
简介 设计模式中与工厂模式相关的主要有三种,它们分别是: 简单工厂模式(Simple Factory):这不是GoF(四人帮,设计模式的开创者)定义的标准模式,但被广泛认为是工厂模式的…...
大数据时代的生物信息学:挖掘生命数据,揭示生命奥秘
在当今科技日新月异的时代,大数据如同一座蕴藏无尽宝藏的矿山,而生物信息学则是那把锐利的探矿锤,精准有力地敲击着这座“生命之矿”,揭示出隐藏在其深处的生命奥秘。随着基因测序技术的飞速进步与广泛应用,生物医学领…...
微信小程序开发【从入门到精通】——页面导航
👨💻个人主页:开发者-曼亿点 👨💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨💻 本文由 曼亿点 原创 👨💻 收录于专栏:…...
嵌入式|蓝桥杯STM32G431(HAL库开发)——CT117E学习笔记15:PWM输出
系列文章目录 嵌入式|蓝桥杯STM32G431(HAL库开发)——CT117E学习笔记01:赛事介绍与硬件平台 嵌入式|蓝桥杯STM32G431(HAL库开发)——CT117E学习笔记02:开发环境安装 嵌入式|蓝桥杯STM32G431(…...
SQLite中的隔离(八)
返回:SQLite—系列文章目录 上一篇:SQLite版本3中的文件锁定和并发(七) 下一篇:SQLite 查询优化器概述(九) 数据库的“isolation”属性确定何时对 一个操作的数据库对其他并发操作可见。 数据库连接之…...
Zabbix6 - Centos7部署Grafana可视化图形监控系统配置手册手册
Zabbix6 - Centos7部署Grafana可视化图形监控系统配置手册手册 概述: Grafana是一个开源的数据可视化和监控平台。其特点: 1)丰富的可视化显示插件,包括热图、折线图、饼图,表格等; 2)支持多数据…...
Electron无边框自定义窗口拖动
最近使用了electron框架,发现如果自定义拖动是比较实用的;特别是定制化比较高的项目,如果单纯的使用-webkit-app-region: drag;会让鼠标事件无法触发; 过程中发现问题: 1.windows缩放不是100%后设置偏移界面会缩放,感觉像吹起的气…...
vue3+echarts:echarts地图打点显示的样式
colorStops是打点的颜色和呼吸灯、label为show是打点是否显示数据、rich里cnNum是自定义的过滤模板用来改写显示数据的样式 series: [{type: "effectScatter",coordinateSystem: "geo",rippleEffect: {brushType: "stroke",},showEffectOn: &quo…...
vue3从精通到入门7:ref系列
Vue 3 的 Ref 是一个集合,包括多个与响应式引用相关的功能,这些功能共同构成了 Vue 3 响应式系统的重要组成部分。以下是更全面的介绍: 1.ref ref 接受一个内部值并返回一个响应式且可变的 ref 对象。这个对象具有一个 .value 属性…...
灵动翻译音频文件字幕提取及翻译;剪映视频添加字幕
参考:视频音频下载工具 https://tuberipper.com/21/save/mp3 1、灵动翻译音频文件字幕提取及翻译 灵动翻译可以直接chorme浏览器插件安装: 点击使用,可以上传音频文件 上传后自动翻译,然后点击译文即可翻译成中文,…...
在Gitee上创建新仓库
1. 登录到你的Gitee账户。 2. 在Gitee首页或仓库页面,点击“新建仓库”按钮。 3. 填写仓库名称、描述(可选)、选择仓库是否公开等信息。 4. 点击“创建仓库”按钮完成创建。 2. 本地代码连接到远程仓库 假设你已经在本地有一个项目&#…...
linux 配置NFS
1、NFS简介 NFS 是Network File System的缩写,即⽹络⽂件系统。NFS 的基本原则是“容许不同的客户 端及服务端通过⼀组RPC分享相同的⽂件系统”,它是独⽴于操作系统,容许不同硬件及操作 系统的系统共同进⾏⽂件的分享。 NFS在⽂件传送或信息…...
大疆御Pro(一代)更换晓spark摄像头评测
御Pro是17年的老机器,除了摄像头有点拉跨,续航、抗风、操作性在大疆民用系列里面算是数得上的。 机缘巧合,手头有几个御的空镜头(里面的芯片已经去掉了),还有几个晓的摄像头(只有芯片࿰…...
【小技巧】gitlab怎么在每次git push的时候不用输入账号密码?使用 SSH 密钥 的原理是什么?
1. gitlab怎么在每次git push的时候不用输入账号密码? 要在每次执行 git push 时避免输入 GitLab 的账号和密码,你可以通过以下几种方法实现: 使用 SSH 密钥:这是最常用的方法,通过生成 SSH 密钥并将其添加到 GitLab …...
笔记: JavaSE day15 笔记
第十五天课堂笔记 数组 可变长参数★★★ 方法 : 返回值类型 方法名(参数类型 参数名 , 参数类型 … 可变长参数名){}方法体 : 变长参数 相当于一个数组一个数组最多只能有一个可变长参数, 并放到列表的最后parameter : 方法参数 数组相关算法★★ 冒泡排序 由小到大: 从前…...
【Golang星辰图】数据处理的航海家:征服数据海洋的航行工具
数据处理的建筑师:用Go语言中构建稳固的数据分析建筑物 前言 数据处理和分析是现代计算机科学中的关键任务之一,而Go语言作为一门现代化的编程语言,也需要强大的数据处理和分析库来支持其在这一领域的应用。本文将介绍几款优秀的数据处理和…...
容器网络测试关键问题
资料问题 主要影响客户体验, 低级问题. 类似于单词拼写错误, 用词有歧义,等。 另一点是,我们的用户文档,主要偏向于技术向的描述,各种参数功能罗列。友商有比较好的最佳实践操作说明。我们后面也会都增加这样的最佳实践。golang o…...
6、Cocos Creator 2D 渲染组件:Sprite 组件
Sprite 组件 Sprite(精灵)是 2D/3D 游戏最常见的显示图像的方式,在节点上添加 Sprite 组件,就可以在场景中显示项目资源中的图片。 属性功能说明Type渲染模式,包括普通(Simple)、九宫格&#x…...
算法沉淀——动态规划篇(子数组系列问题(上))
算法沉淀——动态规划篇(子数组系列问题(上)) 前言一、最大子数组和二、环形子数组的最大和三、乘积最大子数组四、乘积为正数的最长子数组长度 前言 几乎所有的动态规划问题大致可分为以下5个步骤,后续所有问题分析都…...
通知中心架构:打造高效沟通平台,提升信息传递效率
随着信息技术的快速发展,通知中心架构作为一种关键的沟通工具,正逐渐成为各类应用和系统中必不可少的组成部分。本文将深入探讨通知中心架构的意义、设计原则以及在实际场景中的应用。 ### 什么是通知中心架构? 通知中心架构是指通过集中管…...
【Arduino使用SNR9816TTS模块教程】
【Arduino使用SNR9816TTS模块教程】 1.前言2. 硬件连接3. Arduino代码3.1 环境配置3.2 Arduino源码 4. 调试步骤5. 总结 1.前言 在今天的教程中,我们将详细介绍如何使用Arduino IDE开发ESP32C3与汕头新纳捷科技有限公司生产的SNR9816TTS中文人声语音合成模块进行交…...
牛客练习赛123(A,B,C,D)
牛客挑战赛,练习赛和小白月赛周赛不是一种东西。这玩意跟CF的div12差不多难度。而且找不到题解。所以决定不等题解补题了,直接写题解了。 比赛链接 光速签到下班,rk。感觉E可能能补掉,看情况补吧。 B题感觉之前考了两次&#x…...
docker部署-RabbitMq
1. 参考 RabbitMq官网 docker官网 2. 拉取镜像 这里改为自己需要的版本即可,下面容器也需要同理修改 docker pull rabbitmq:3.12-management3. 运行容器 docker run \ --namemy-rabbitmq-01 \ -p 5672:5672 \ -p 15672:15672 \ -d \ --restart always \ -…...
【智能算法】蜜獾算法(HBA)原理及实现
目录 1.背景2.算法原理2.1算法思想2.2算法过程 3.结果展示4.参考文献 1.背景 2021年,FA Hashim等人受到自然界中蜜獾狩猎行为启发,提出了蜜獾算法((Honey Badger Algorithm,HBA)。 2.算法原理 2.1算法思想 蜜獾以其…...
做游戏视频网站/找广告商的平台
阿里云监控系统支持用户自定义监控类型,具有极强的监控扩展能力,支持用户自己编写监控插件实现自定义监控类型。编写完后将插件放到Agent安装目录下面的scripts目录下面,如果是linux服务器则是/usr/local/cms/scripts目录下面。 监控插件不管…...
上海电子商务网站开发/周口seo
##题目描述 输入一棵二叉树,判断该二叉树是否是平衡二叉树。 ##思路 如果每个节点的左右子树的深度相差都不超过1,即最大深度差为1,则可判定为平衡二叉树。 两种思路: 第一种是递归判断每一个根节点,都要求出它的左右子…...
网站做优化的成本/沧州网站优化公司
什么是内部类? 内部类是指在一个外部类的内部再定义一个类。内部类作为外部类的一个成员,并且依附于外部类而存在的。内部类可为静态,可用protected和private修饰(而外部类只能使用public和缺省的包访问权限)。内部类主…...
阿里云网站建设考试/百度网站
如果使用相同的工艺,将得到相同的面包。 ——白面包法则设计碎碎念记忆法的初衷源于一个朴素的想法:既然都有专门适合太监修炼的武功(葵花宝典),为什么就没有专门适合…...
wordpress阅读排行榜/steam交易链接在哪里看
大学的友情, 是我一生中最值得珍惜的友情, 我不会忘记你们的, 我的兄弟们。 都说兄弟如手足, 女人如衣服。 我不是太赞成这句话。 具体原因嘛, 只可意会不可以言谈。 兄弟, 就是一天或一月或一年࿰…...
梅州网站建设/seo外包方案
select * from slot_value_temp force index(idx_slot_type_id) WHERE slot_type_id xxxxxx; 不定期更新转载于:https://www.cnblogs.com/zhzhang/p/8127586.html...