Linux find 命令:综合指南

2023-10-12

The findLinux 中的命令是一个功能强大的实用程序,用于根据您指定的条件搜索和定位文件和目录。

它可以按名称、大小、类型、权限、日期和许多其他标准快速定位文件。

 

目录 hide

 

基本语法

的基本语法为find命令是:


find [path...] [expression]
  
  • path:您可以在此处指定开始搜索的目录。例如,您可以从根目录开始搜索(/)或从您的主目录(~).
  • expression:这是要匹配的条件或标准。例如,您可以按名称、大小、类型等搜索文件。

Output:


$ find /home/user -name myfile.txt
/home/user/documents/myfile.txt
  

这将搜索/home/user名为的文件的目录myfile.txt.

 

按名称查找文件

区分大小写

您可以使用-name选项后跟文件名或模式以按名称搜索文件。


$ find /home/user -name notes.txt
/home/user/documents/notes.txt
/home/user/backups/notes.txt
  

该命令检查/home/user所有名为的文件的目录notes.txt.

不区分大小写

如果要执行不区分大小写的搜索,请使用-iname option.


$ find /home/user -iname Notes.TXT
/home/user/documents/notes.txt
/home/user/backups/NOTES.txt
  

在这里,搜索检索名为“notes.txt”、“NOTES.TXT”的文件以及大小写的任何其他变体。

 

使用正则表达式

find还可以基于正则表达式匹配文件,提供更灵活的搜索模式。

使用-正则表达式

The -regex选项基于文件的完整路径进行搜索。


$ find /home/user -regex "/home/user/docs/.*\.txt$"
/home/user/docs/report.txt
/home/user/docs/summary.txt
  

该命令检索所有.txt里面的文件/home/user/docs目录。

使用 -iregex

要执行不区分大小写的正则表达式搜索,请使用-iregex option.


$ find /home/user -iregex "/home/user/DOCS/.*\.txt$"
/home/user/docs/report.txt
/home/user/DOCS/Overview.TXT
  

这返回.txt来自两者的文件/home/user/docs and /home/user/DOCS目录,无论大小写。

阅读更多有关如何使用的信息正则表达式与 Linux find 命令.

 

按类型查找文件

您可以使用-type选项后跟特定代码,指示文件类型以根据文件类型搜索文件。

要搜索常规文件,您可以使用f code:


$ find /home/user -type f
/home/user/file1.txt
/home/user/image.png
  

这列出了所有常规文件/home/user目录。

要搜索目录,您可以使用d code:


$ find /home/user -type d
/home/user/documents
/home/user/pictures
  

该命令返回目录中的所有目录/home/user目录。

要搜索符号链接,您可以使用l code:


$ find /home/user -type l
/home/user/link_to_file1.txt
  

这列出了所有符号链接/home/user.

其他文件类型:

  • b:块设备文件
  • c:字符设备文件
  • p:命名管道(FIFO)
  • s:套接字文件

例如,要查找所有块设备文件:


$ find / -type b
/dev/sda
/dev/sdb
  

这将检索系统中的所有块设备。

 

按大小查找文件

要根据文件大小搜索文件,您可以使用-size option.


$ find /home/user -size +2M
/home/user/movies/sample.mp4
/home/user/backups/backup.tar.gz
  

该命令列出了目录中的文件/home/user大于 2 MB 的目录。

了解尺寸格式

可以使用各种格式指定大小标准:

  • c: bytes
  • k:千字节
  • M:兆字节
  • G:千兆字节

尺寸单位前的符号表示条件:

  • +: 大于指定尺寸
  • -: 小于指定尺寸
  • (无符号):完全符合指定尺寸

$ find /home/user -size -10k
/home/user/notes.txt
/home/user/config.yaml
  

这会找到文件/home/user小于 10 KB。

 

查找空文件或目录

The -empty选项允许您找到空文件或目录。


$ find /home/user -type f -empty
/home/user/emptyfile.txt
/home/user/drafts/untitled.doc
  

该命令列出了所有空的常规文件/home/user目录。

查找空目录:


$ find /home/user -type d -empty
/home/user/drafts/unused_folder
  

这将返回其中的所有空目录/home/user.

 

按日期和时间查找文件

您可以使用 find 命令使用多个选项来按访问日期/时间或修改日期/时间搜索文件。

按访问时间搜索

您可以使用-amin选项来搜索在指定分钟数内访问的文件。


$ find /home/user -amin -10
/home/user/documents/recently_opened.txt
  

该命令检索文件/home/user最近 10 分钟内访问过。

您可以使用-atime搜索过去“n”天内访问过的文件的选项。


$ find /home/user -atime -7
/home/user/documents/week_report.txt
  

这将文件定位在/home/user过去一周内访问过。

按 inode 变化搜索

您可以使用-cmin根据 inode 更改时间(以分钟为单位)搜索文件的选项。

inode 包含对文件元数据的更改,例如其权限或所有权,但不一定是其内容。


$ find /home/user -cmin -30
/home/user/configs/changed_config.cfg
  

该命令查找文件/home/user他们的索引节点在过去 30 分钟内发生了更改。

您可以使用-ctime根据 inode 更改时间(以天为单位)搜索文件的选项。


$ find /home/user -ctime -2
/home/user/configs/recently_changed_config.cfg
  

这将文件定位在/home/user他们的 inode 在过去 2 天内发生了变化。

按修改时间搜索

您可以使用-mmin根据修改时间(以分钟为单位)搜索文件的选项。


$ find /home/user -mmin -15
/home/user/documents/just_edited.txt
  

这会找到文件/home/user在过去 15 分钟内进行了修改。

要根据修改时间(以天为单位)搜索文件,您可以使用-mtime option:


$ find /home/user -mtime -3
/home/user/documents/three_days_ago_edited.txt
  

这将返回文件/home/user过去 3 天内修改过的内容。

查找较新的文件

您可以使用-newer选项来查找比给定文件更新的文件。


$ find /home/user -newer reference.txt
/home/user/documents/updated_report.txt
  

这列出了以下位置的文件/home/userreference.txt.

使用 -newerXY 比较时间戳

The -newerXY选项允许您将文件的时间戳与另一个文件或特定时间进行比较。 X 和 Y 可以是:

  • a:访问时间
  • m: 修改时间
  • c:inode改变时间
  • t:文字时间(直接指定)

例如,要查找最近修改的文件比访问时间更晚的文件:


$ find /home/user -neweram reference.txt
/home/user/documents/recently_edited_but_not_opened.txt
  

该命令列出了以下位置的文件/home/user与访问时间相比,其修改时间更新reference.txt.

要与特定日期进行比较,您可以使用:


$ find /home/user -newermt "2023-08-18"
/home/user/documents/post_august_file.txt
  

这会找到文件/home/user2023 年 8 月 18 日后修改。

修改后访问的文件

The -used选项允许您根据文件上次访问和上次修改之间的天数来搜索文件。


$ find /home/user -used +7
/home/user/old_drafts/draft1.txt
  

该命令列出了以下位置的文件/home/user上次访问距上次修改时间超过 7 天。此类文件可能已被修改,然后在一段时间内保持不变。

请记住,这不会直接根据上次访问时间或修改时间向您显示文件;相反,它会根据这两次之间的天数差异向您显示文件。

 

按权限查找文件

The -perm选项允许您根据文件的权限搜索文件。


$ find /home/user -perm 0755
/home/user/scripts/executable_script.sh
  

该命令列出了以下位置的文件/home/user权限设置为0755.

您还可以使用符号表示:


$ find /home/user -perm u=rwx,g=rx,o=rx
/home/user/scripts/executable_script.sh
  

这将检索与上一个命令相同的文件,但使用符号表示法表示权限。

对于与任何给定模式匹配的权限:


$ find /home/user -perm -o=w
/home/user/shared/shared_file.txt
  

这会找到文件/home/user其他人有写权限的地方。

 

搜索具有特殊权限的文件

您可以使用-perm选项结合特定代码来搜索具有特殊权限的文件,例如粘性位、setuid 和 setgid。

粘位

您可以使用-1000搜索设置了粘性位的文件的代码将具有t在他们的权限中。


$ find /home/user -perm -1000
/home/user/shared_directory
  

这会找到目录/home/user与粘性位设置。

Setuid

要搜索设置了 setuid 位的文件,将具有s在用户的执行权限中,您可以使用-4000 code.


$ find /home/user -perm -4000
/home/user/bin/setuid_program
  

这列出了以下位置的文件/home/user设置了 setuid 位。

Setgid

您可以使用-2000搜索设置了 setgid 位的文件的代码将具有s在组的执行权限中。


$ find /home/user -perm -2000
/home/user/bin/setgid_program
  

这将返回文件/home/user设置了 setgid 位。

 

按用户和组搜索

要根据所有权搜索文件,您可以使用以下选项:

-user

您可以使用-user搜索特定用户拥有的文件的选项。


$ find /home/user -user john
/home/user/johns_file.txt
  

这列出了以下位置的文件/home/user归用户所有john.

-group

您可以使用-group搜索属于特定组的文件的选项。


$ find /home/user -group developers
/home/user/dev/project1.txt
  

这将检索文件/home/user属于developers group.

-nouser

您可以使用-nouser选项来查找没有与其关联的有效用户的文件。


$ find / -nouser
/orphaned_files/file1.txt
  

这会列出根目录中没有有效用户所有者的文件。

-nogroup

您可以使用-nogroup选项来查找不属于任何有效组的文件。


$ find / -nogroup
/orphaned_files/file2.txt
  

这将定位根目录中没有有效组的文件。

 

排除目录

如果您需要从搜索中排除某些目录,您可以使用-prune option.


$ find /home/user -path '/home/user/excluded_directory' -prune -o -print
/home/user/file1.txt
/home/user/other_directory/file2.txt
  

在这里,搜索避免了excluded_directory同时打印其他结果/home/user.

请记住:顺序很重要-prune。确保在之前指定要修剪的内容-o -print部分,否则你会得到意想不到的结果。

 

搜索文件的硬链接

The -samefile选项可帮助您搜索与指定文件指向相同 inode 的文件,本质上是查找指向该文件的硬链接。


$ find /home/user -samefile /home/user/reference.txt
/home/user/reference.txt
/home/user/links/reference_hardlink.txt
  

该命令识别所有文件/home/user指向相同的 inodereference.txt,在本例中包括原始文件及其硬链接。

 

组合多个搜索条件

有时,您需要根据多个条件进行搜索。这find命令足够灵活,可以组合各种搜索条件。

组合条件

To find .txt最近 3 天内修改的文件:


$ find /home/user -name "*.txt" -mtime -3
/home/user/recently_edited.txt
  

使用 -o(或)

要搜索.txt or .md files:


$ find /home/user -name "*.txt" -o -name "*.md"
/home/user/note.txt
/home/user/readme.md
  

使用 -a(与)

While -a是默认的,如果想明确的话可以用它来组合条件。

To find .txt过去 3 天内修改且大于 1k 的文件:


$ find /home/user -name "*.txt" -a -mtime -3 -a -size +1k
/home/user/large_recently_edited.txt
  

使用 ! (不是)

您可以使用!否定搜索条件。

查找不存在的文件.txt:


$ find /home/user ! -name "*.txt"
/home/user/image.jpg
  

这将返回所有文件/home/user没有.txt扩大。

 

限制搜索深度

有时您可能想要限制搜索的深度。这是哪里-maxdepth and -mindepth参加进来。

maxdepth

The -maxdepth限制目录遍历的深度。


$ find /home/user -maxdepth 1 -name "*.txt"
/home/user/file1.txt
  

这发现.txt文件在/home/user但不搜索子目录。

mindepth

The -mindepth指定目录遍历的最小深度。


$ find /home/user -mindepth 2 -name "*.txt"
/home/user/subdir/file2.txt
  

这会搜索.txt文件在/home/user但仅从第二级目录开始。

 

对找到的文件执行命令

您可以直接根据结果采取行动。

使用-exec

The -exec选项允许您对每个找到的项目运行命令。


$ find /home/user -name "*.txt" -exec cp {} /home/backup/ \;
  

该命令查找所有.txt文件在/home/user并将它们复制到/home/backup/目录。

使用-execdir

如同-exec,而是在匹配文件所在的目录中执行指定的命令。


$ find /home/user -name "config.cfg" -execdir mv {} {}.backup \;
  

这将重命名所有config.cfg找到的文件/home/user to config.cfg.backup.

使用 {} + 和 {} 安全执行;

Using {} +允许一次将多个文件名作为参数传递。


$ find /home/user -name "*.txt" -exec echo {} +
/home/user/file1.txt /home/user/file2.txt
  

Using {} \;确保分别对每个文件执行该命令。


$ find /home/user -name "*.txt" -exec echo {} \;
/home/user/file1.txt
/home/user/file2.txt
  

使用-delete

The -delete操作使您能够删除符合搜索条件的文件或目录。


$ find /home/user -name "*.tmp" -delete  

The -delete操作以深度优先方式处理删除,因此在删除目录本身之前,目录中的文件将被清空。这在处理目录时至关重要。

Using -delete可能会导致数据丢失。这就是为什么您需要确认,例如-ok行动提供。

确认操作(使用 -ok)

The -ok行动于find命令在对找到的文件执行命令时起到保护作用。


$ find /home/user -name "*.bak" -ok rm {} \;
< rm ... /home/user/documents/file1.bak > ? y
< rm ... /home/user/documents/file2.bak > ? n  

对于每个文件,find提示您它打算执行的完整命令(例如,< rm ... /home/user/documents/file1.bak > ?).

对于每个文件,您必须回答“y”(是)或“n”(否)。仅处理用“y”确认的文件。

使用 -okdir

就像-ok,它会在执行命令之前提示用户确认。

然而,-okdir从包含匹配文件的目录执行指定的命令,这使得如果使用不正确的路径执行可能会产生意外后果的命令更安全。


$ find /home/user -name "*.bak" -okdir rm {} \;
< rm ... file1.bak > ? y
< rm ... file2.bak > ? n
  

Unlike -ok,显示完整路径,-okdir显示文件名,因为该命令是在文件目录中执行的。

-ok 与 -okdir

使用时-ok,您正在执行的命令是从您调用的目录运行的find命令。这{}占位符将替换为匹配文件的完整路径。

相反,当您使用-okdir,该命令从包含匹配文件的目录运行,并且{}占位符将被匹配文件的基本名称替换(即没有前面的目录路径)。

So, -okdir增加了一层安全性。

 

将 Find 与 Xargs 一起使用

xargs是一个功能强大的工具,可以从标准输入读取项目并对其执行命令。

它经常与find处理文件名和其他输入。


$ find /home/user -name "*.txt" | xargs tar cvf backup.tar
backup.tar
/home/user/file1.txt
/home/user/file2.txt
  

该命令打包所有.txt找到的文件/home/user into a backup.tar档案。

对于带有空格或特殊字符的文件名,使用更安全:


$ find /home/user -name "*.txt" -print0 | xargs -0 tar cvf backup.tar
  

Here, -print0 in find and -0 in xargs确保正确处理文件名,即使它们包含空格、换行符或其他特殊字符。

 

处理带有特殊字符的文件

当使用包含特殊字符(例如空格或括号)的文件名时,必须确保正确处理它们。


$ find /home/user -name "my file*.txt"
/home/user/my file1.txt
/home/user/my file2.txt
  

如果您正在编写脚本或链接命令,请引用模式:


$ find /home/user -name "my file*.txt" -exec cat '{}' \;
Contents of my file1.txt
Contents of my file2.txt
  

通过包裹{}在单引号中,您确保带有特殊字符的文件名被传递到cat命令没有问题。

 

使用-sparse

The -sparse选项标识稀疏分配的文件。稀疏文件占用的实际磁盘空间比其表面大小所暗示的要少。


$ find /home/user -sparse
/home/user/large_but_sparse_file.img
  

这会找到文件/home/user那些稀疏的。通常,这些文件的块读为零,但不占用磁盘上的任何空间。

 

打印结果

默认情况下,find打印满足指定条件的文件名。然而,还有更复杂的方法来打印结果。

打印文件名

The -print选项允许您打印完整的文件名。


$ find /home/user -name "sample.txt"
/home/user/documents/sample.txt
  

格式化输出

The -printf选项允许自定义输出格式。


$ find /home/user -name "sample.txt" -printf "%f %s bytes\n"
sample.txt 1240 bytes
  

这仅打印文件名(%f)及其大小(以字节为单位)(%s),后面跟着单词“字节”。

详细清单

The -ls选项提供了类似于的详细列表ls -l.


$ find /home/user -name "sample.txt" -ls
1234567  4 -rw-r--r-- 1 user user 1240 Aug 16 12:30 /home/user/documents/sample.txt
  

输出显示索引节点号、块大小、文件权限、链接数、所有者、组、字节大小、修改时间和文件名。

 

搜索特定安装的设备(-xdev 或 -mount)

当使用大型文件系统或多个安装点时,将搜索限制为特定文件系统可以改善find命令的性能。

Both -xdev and -mount是相同的选项,只是名称不同。该选项可防止find从下降到驻留在不同文件系统(或分区)上的目录。

如果您正在搜索类似的目录,这会很有用/(root)但您不想搜索其他已安装的文件系统,例如/boot or /home如果它们位于不同的分区或设备上。

Example:假设您想找到所有.log文件在/var目录但不进入其他已安装的文件系统:


$ find /var -xdev -name "*.log"  

在这个例子中,如果/var/log是一个单独的安装点或位于不同的分区上,-xdev or -mount会阻止find从向内寻找/var/log.

Note: 放置很重要-xdev or -mount任何谓词之前的选项,例如-name以确保它被视为一种选择。

 

Find 命令的强大功能

有一天,我接到客户服务部主管的紧急电话。他们告诉我,许多客户报告没有收到他们的月度报表。

我快速调出日志,发现有超过 100,000 个文件,分布在多个目录和子目录中,其中包含这些语句。

主要问题是这些文件的很大一部分被错误命名,并且由于这种命名不一致,它们无法发送给各自的客户。

如果这是一项手动任务,那将是一场灾难。即使团队规模相当大,检查 100,000 个文件也需要几天甚至几周的时间。

为了便于论证,假设一个人每小时可以处理 100 个文件。一天工作 8 小时,即 800 个文件。

要覆盖 100,000 个文件,需要 125 个工作日。即使团队有 10 人,我们也需要近两周的工作时间。

这就是Linux的神奇之处find命令进来了。

我使用了一个简单的命令:


$ find /path_to_directory/ -type f -name "wrong_pattern_*"  

很快,它就给了我所有命名错误的文件的列表,无论它们的目录深度如何。使用相同的命令,我将其与重命名操作结合起来:


$ find /path_to_directory/ -type f -name "wrong_pattern_*" -exec rename 's/wrong_pattern_/correct_pattern_/' '{}' \;  

几分钟之内,所有命名错误的文件都被正确重命名。

发送语句的批处理过程重新运行,在几个小时内,所有语句都被正确发送。

 

Resource

https://man7.org/linux/man-pages/man1/find.1.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux find 命令:综合指南 的相关文章

  • 标准头文件中的 C 编译器错误 - 未定义的 C++ 定义

    我正在尝试编译 C 程序 但收到许多错误 这些错误是在标准 C 头文件 inttypes h stdio h stat h 等 中遇到的 错误的来源是以下未定义的常量 BEGIN DECLS END DECLS BEGIN NAMESPAC
  • 在Linux中断上下文中运行用户线程

    我正在编写一些定制的应用程序 并允许更改 Linux 内核中的中断处理程序代码 我有一个用户线程正在等待中断发生 如果发生中断 那么我要做的第一件事就是执行该用户线程 有什么办法让它发挥作用吗 Thanks 创建一个字符设备 这就是内核所做
  • 每个进程每个线程的时间量

    我有一个关于 Windows 和 Linux 中进程和线程的时间量子的问题 我知道操作系统通常为每个线程提供固定的时间量 我知道时间量根据前台或后台线程而变化 也可能根据进程的优先级而变化 每个进程有固定的时间量吗 例如 如果操作系统为每个
  • sleep 0 有特殊含义吗?

    我看到很多用法sleep 0在我的一个客户项目中 代码看起来像这样 while true sleep 0 end 阅读一些像这样的答案this https stackoverflow com questions 3727420 signif
  • 无需 cron 在后台发送邮件

    我想知道是否有一种方法可以运行 PHP 循环 以便在后台向订阅者发送几百封电子邮件 我的目标是格式化新闻通讯 单击发送 然后关闭浏览器或更改页面 当然 发送电子邮件的实际过程将在后台运行 不会因浏览器关闭而中断 我知道这可以通过 cron
  • 信号处理程序有单独的堆栈吗?

    信号处理程序是否有单独的堆栈 就像每个线程都有单独的堆栈一样 这是在 Linux C 环境中 来自 Linux 手册页signal 7 http kernel org doc man pages online pages man7 sign
  • diff 文件仅比较每行的前 n 个字符

    我有2个文件 我们将它们称为 md5s1 txt 和 md5s2 txt 两者都包含a的输出 find type f print0 xargs 0 md5sum sort gt md5s txt 不同目录下的命令 许多文件被重命名 但内容保
  • .NET Core 中的跨平台文件名处理

    如何处理文件名System IO以跨平台方式运行类以使其在 Windows 和 Linux 上运行 例如 我编写的代码在 Windows 上完美运行 但它不会在 Ubuntu Linux 上创建文件 var tempFilename Dat
  • Godaddy 托管上的 CakePHP 控制台

    我一直在努力让我的 CakePHP 网站在 Godaddy 网格托管 帐户上运行 我的蛋糕应用程序设置是从帐户的子目录托管的 并且可以通过子域访问 我必须调整我的 htaccess 文件才能使其正常工作 现在我需要让 CakePHP 控制台
  • 拆分字符串以仅获取前 5 个字符

    我想去那个地点 var log src ap kernelmodule 10 001 100 但看起来我的代码必须处理 ap kernelmodule 10 002 100 ap kernelmodule 10 003 101 等 我想使用
  • Unix 命令列出包含字符串但*不*包含另一个字符串的文件

    如何递归查看包含一个字符串且不包含另一个字符串的文件列表 另外 我的意思是评估文件的文本 而不是文件名 结论 根据评论 我最终使用了 find name html exec grep lR base maps xargs grep L ba
  • bluetoothctl 到 hcitool 等效命令

    在 Linux 中 我曾经使用 hidd connect mmac 来连接 BT 设备 但自 Bluez5 以来 这种情况已经消失了 我可以使用 bluetoothctl 手动建立连接 但我需要从我的应用程序使用这些命令 并且使用 blue
  • 无法加载 JavaHL 库。- linux/eclipse

    在尝试安装 Subversion 插件时 当 Eclipse 启动时出现此错误 Failed to load JavaHL Library These are the errors that were encountered no libs
  • 抑制 makefile 中命令调用的回显?

    我为一个作业编写了一个程序 该程序应该将其输出打印到标准输出 分配规范需要创建一个 Makefile 当调用它时make run gt outputFile应该运行该程序并将输出写入一个文件 该文件的 SHA1 指纹与规范中给出的指纹相同
  • GLIBCXX_3.4.26 未找到在 BeagleBone 上运行交叉编译的程序

    我有以下程序 include
  • 从 csv 文件中删除特定列,保持输出上的相同结构[重复]

    这个问题在这里已经有答案了 我想删除第 3 列并在输出文件中保留相同的结构 输入文件 12 10 10 10 10 1 12 23 1 45 6 7 11 2 33 45 1 2 1 2 34 5 6 I tried awk F 3 fil
  • 如何禁用 GNOME 桌面屏幕锁定? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 如何阻止 GNOME 桌面在几分钟空闲时间后锁定屏幕 我已经尝试过官方手册了在红帽 https access redhat com doc
  • 如何根据 HTTP 请求使用 Python 和 Flask 执行 shell 命令并流输出?

    下列的这个帖子 https stackoverflow com questions 15092961 how to continuously display python output in a webpage 我能够tail f网页的日志
  • 如何在bash中使用jq从变量中包含的json中提取值

    我正在编写一个 bash 脚本 其中存储了一个 json 值 现在我想使用 Jq 提取该 json 中的值 使用的代码是 json val code lyz1To6ZTWClDHSiaeXyxg redirect to http examp
  • 如何查明CONFIG_FANOTIFY_ACCESS_PERMISSIONS是否启用?

    我想利用fanotify 7 http man7 org linux man pages man7 fanotify 7 html我遇到的问题是在某些内核上CONFIG FANOTIFY ACCESS PERMISSIONS不起作用 虽然C

随机推荐

  • 了解日期和时间是混乱的

    日期和时间并不是简单的事情 尤其是现在大多数计算都是远程完成的 无法保证计算机和用户位于同一个地方 由于管理夏令时和时区的规则不是静态的 这一事实使情况变得更加复杂 在本课程中 您将探索所有奇怪的边缘情况 并了解程序员通常如何处理它们
  • 掌握Python的内置时间模块

    蟒蛇time模块提供了多种方式代表时间代码中 例如对象 数字和字符串 它还提供除表示时间之外的功能 例如在代码执行期间等待和测量代码的效率 本课程将引导您了解最常用的函数和对象time 完成本课程后 您将能够 理解处理日期和时间的核心概念
  • 关于奥尔德伦·桑托斯

    关于奥尔德伦 桑托斯 个人网站 大家好 我是 Aldren Santos 担任自由平面设计师 插画师已有 3 年了 我的任务是尽我所能 让这个网站变得更加精彩 我真心希望我的插图能够吸引您通过我们团队辛勤工作的这些教程学习 Python 的
  • 编写和测试 Python 函数:面试练习(概述)

    无论您是想在编码面试中取得好成绩 还是只是想提高您的开发技能 解决编码挑战可以帮助您成长为一名程序员 在这个真实的 Python 代码对话中 Philipp 向 Martin 提出挑战 要求他编写一个函数 将字符串中的每个字符加倍 通过他们
  • 引导 Django 项目

    有关本课程所涵盖概念的更多信息 您可以查看 如何设置 Django 项目 真正的Python文章 使用 Django 和 Python 构建个人日记 真正的Python文章 以下是本课程中使用的命令行片段 mkdir portfolio p
  • Python 石头剪刀布:命令行游戏(概述)

    游戏编程是学习如何编程的好方法 您可以使用许多在现实世界中看到的工具 此外您还可以玩游戏来测试您的结果 开始 Python 游戏编程之旅的理想游戏是剪刀石头布 在本课程中 您将学习如何 自己编写代码剪刀石头布游戏 接受用户输入input 使
  • 2021 年 4 月 21 日

    主持人大卫 阿莫斯回答会员的问题 在这次会议上 我们讨论了 Real Python 的新功能 在哪里可以找到要阅读的代码以提高您的 Python 技能 为什么 0xfor x in 1 2 3 回报 15 数据科学 Django 和 Fla
  • Python 中的 K 均值聚类:实用指南

    目录 What Is Clustering 聚类技术概述 分区聚类 层次聚类 基于密度的聚类 How to Perform K Means Clustering in Python 了解 K 均值算法 使用 Python 编写您的第一个 K
  • 在 Python 中使用 lru_cache 进行缓存

    有很多方法可以实现快速响应的应用程序 缓存是一种方法 如果使用得当 可以使事情变得更快 同时减少计算资源的负载 蟒蛇的功能工具模块附带 lru cache 装饰器 这使您能够使用以下命令缓存函数的结果最近最少使用 LRU 策略 这是一种简单
  • 拼写错误、缺失或误用 Python 关键字

    以下是有关 Python 关键字的更多信息的资源 Python 关键字 简介 真正的 Python 文章 Python 3 8 关键字 Python 文档
  • Python 标准 REPL:快速尝试代码和想法

    目录 Getting to Know the Python Standard REPL 什么是 Python 的交互式 Shell 或 REPL 为什么使用 Python REPL Starting and Ending REPL Inte
  • 使用 Fabric 和 Ansible 自动化 Django 部署

    目录 设置和配置 Fabric Setup 设置 SSH 密钥 强化用户密码 安装 Ansible 依赖项 将 SELinux 设置为宽容模式 升级服务器 完整性检查 Ansible Primer 剧本 示例手册 Playbook Setu
  • 第 27 集:准备面试 Python 练习题

    第 27 集 准备面试 Python 练习题 真正的 Python 播客 2020 年 9 月 18 日47m RSS Apple Podcasts Google Podcasts Spotify More 播客瘾君子 灰蒙蒙 袖珍铸件 投
  • Python 基础知识:函数和循环(摘要)

    在本视频课程中 您了解了两个最基本的概念 在编程中 函数和循环 首先 您学习了如何定义自己的自定义函数 你看到了 该函数由两部分组成 这函数签名 这开始于def关键字并包括函数名称和函数参数 这函数体 其中包含每当调用该函数时运行的代码 函
  • Python 的 urllib.request 用于 HTTP 请求

    目录 使用 urllib request 的基本 HTTP GET 请求 The Nuts and Bolts of HTTP Messages 了解什么是 HTTP 消息 了解 urllib request 如何表示 HTTP 消息 关闭
  • Django Ninja 的隐蔽 REST API(摘要)

    在本课程中 您已经了解了 Django Ninja REST API 库的所有内容 使用 Ninja 您可以 使用装饰器快速包装 Django 视图创建 REST API 端点 使用类型注释定义变量和参数 写Schema和ModelSche
  • Python 中的 Dijkstra 算法(查找最短路径)

    Dijkstra算法的工作原理是通过迭代找到节点的最短距离值 直到达到实际的最短距离 Dijkstra 算法的一个关键方面是它使用优先队列从尚未处理的节点集中选择具有最小暂定距离的顶点 当前节点被标记为已访问 并检查其所有邻居节点是否有更优
  • 使用 Pandas read_excel 读取 Excel 文件

    Pandas read excel是一个函数蟒蛇熊猫库允许我们在 Python 中读取 Excel 文件并将其转换为数据框 object read excel函数可以导入具有不同扩展名的Excel文件 例如 xls xlsx xlsm和 o
  • Pandas where() 方法:带条件过滤

    The where中的方法Pandas允许您根据条件过滤 DataFrame 或 Series 类似于 SQL 的 WHERE 子句 您是否曾经发现自己需要根据特定条件替换 DataFrame 中的某些值 或者可能想要屏蔽不符合某些条件的数
  • Linux find 命令:综合指南

    The findLinux 中的命令是一个功能强大的实用程序 用于根据您指定的条件搜索和定位文件和目录 它可以按名称 大小 类型 权限 日期和许多其他标准快速定位文件 目录 hide 1 基本语法 2 Finding Files by Na