首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【Python】:老鸟的入门笔记(5)

TL;DR * 模块和包 一、模块 模块是最高级别的程序组织单元,它将程序代码和数据封装起来以便再利用,同时提供自包含的命名空间从而避免程序出现变量名冲突。...import:以一个整体获取一个模块 from:从一个模块文件中获取特定的名称 imp.reload:在不终止 Python 程序的情况下重新载入模块文件代码的方法 # main.py import...模块命名空间可以通过属性 __dict__ 或 dir() 获取。 模块是一个独立的作用域。...reload 只适用于单一模块,不会自动递归地把模块的模块也自动加载。 二、模块包 模块导入,除了模块名之外,导入还可以指定目录路径。 Python 代码的目录被称为包,因此这样的导入就称为包导入。...包导入是把计算机上的目录变成另一个 Python 命名空间,其属性则对应于目录中所包含的子目录和模块文件。 参考: 《Python学习手册 原书第五版 上册》 ----

20820
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Python 的 shutil 模块

    递归复制在 Python 中,使用 shutil.copytree(src, dst) 函数可以递归复制整个目录结构,包括子目录和文件。...递归移动shutil.move(src, dst) 函数可以用于递归地移动文件和目录,包括它们的子目录和内容。可以在不同目录之间移动文件和目录,并且可以用于重命名文件或目录。...递归删除shutil.rmtree(directory) 函数用于递归删除目录及其内容,包括子目录和文件。可以轻松地清理整个目录树。...backup_folder = time.strftime("%Y-%m-%d")# 创建以当前日期为名称的备份子目录backup_path = os.path.join(backup_directory...shutil.copytree(source_directory, os.path.join(backup_path, source_directory))此示例会创建一个备份文件夹,其中包含了源目录中的内容,以当前日期作为子目录名称

    16410

    glob库函数使用方法

    import glob # 获取当前目录下所有以.txt结尾的文件 files = glob.glob("*.txt") print(files) # 获取当前目录下以f开头,以.txt结尾的文件...files = glob.glob("f*.txt") print(files) # 获取当前目录下以任意字母开头,以.ppt或.pptx结尾的文件 files = glob.glob("[a-zA-Z...]*.ppt*") print(files) # 获取当前目录下以数字为文件名的txt文件 files = glob.glob("[0-9]*.txt") print(files) # 获取当前目录下任意一级子目录下的...txt文件 files = glob.glob("*/*.txt") print(files) 三、使用递归匹配子目录中的文件 除了对当前目录下进行文件搜索,glob库函数还可以在子目录中递归搜索文件。...import glob # 获取当前目录及其子目录下所有的txt文件 files = glob.glob("**/*.txt", recursive=True) print(files) # 获取当前目录及其子目录下所有的

    47520

    【Linux】常见指令汇总

    ,不包括隐藏文件,但如果加上-d,我们就不会进入目录,直接将目录看作文件,列出他的详细信息 如果没有-d选项的话,我们会直接将根目录/中的所有子目录或文件的详细信息显示出来。...2.1.4 ls -R(递归式列出所有子目录下的文件) 通过tree和ls -R两个命令的对比,我们可以看出ls -R可以以递归的形式列出当前路径下所有的子目录或文件 2.2 mkdir(在当前路径下...(进入当前目录)和cd …(进入上级目录) 我们在dir目录下,新创建了一个dirnext目录,当然这个目录看起来是什么都没有的,因为我们ls过后,没发现这个目录中有什么文件或子目录,但当我们ls -l...但如果我们想要删除刚刚递归创建的dir1目录的话,他说目录不能为空,我们是删除不了这个dir1目录的。由此可见我们的rmdir指令只能删除空目录。...2.16 date(时间)&&cal(日历) 2.16.1 date&&时间戳 对于date,使用者可以设定任意想要显示的格式 date +%Y:%m:%d 将时间以时间戳的方式显示,时间戳是指格林威治时间自

    71710

    Golang 递归获取目录下所有文件

    dir") fmt.Printf("names:%v\n", names) } 运行输出: names:[bar.txt foo.txt subdir] 可见 ioutil.ReadDir() 并不会递归获取子目录的内容...3.递归获取 如果想递归获子目录的内容,该如何实现呢? 我们可以递归的调用我们自己的函数,来递归遍历子目录。...5.同时返回目录的路径 有时,我们还需要目录路径,即获取指定目录下的文件和子目录的路径。比如在对一个目录进行压缩时会需要。...package main import ( "github.com/dablelv/go-huge-util/file" ) func main() { // 获取目录下所有文件和子目录名称(不会递归...", false) // 递归获取目录下所有文件和目录路径(不解析符号链接) paths, _ = file.GetDirAllEntryPaths("dir", true) // 递归获取目录下所有文件路径

    3.1K30

    认识 Glob Pattern

    注意,Glob Pattern 不是一个统一的标准,而是一个在不同系统和工具中常见的模式匹配方式。虽然它们的基本概念相似,但具体实现和支持的特性可能会有所不同。 本文将介绍常见的通配符模式。...例如 *.txt 匹配所有以 .txt 结尾的文件,如 file1.txt 和 document.txt。 data/* 匹配 data 目录下的所有文件和子目录。 问号 ? 匹配一个单一字符。...4.关于双星号 ** 在通配符模式中,**(双星号)通常用于表示递归匹配多个目录层级的模式。这意味着它可以匹配任意深度的子目录。...但在某些 shell 中(如 Zsh)可以使用 ** 进行递归匹配。 例如,在 Zsh 中,**/*.txt 可以匹配当前目录及其所有子目录中的所有 .txt 文件。...在 Node.js 的 glob 模块中 ** 用于递归地匹配任意数量的子目录。例如,src/**/*.js 匹配 src 目录及其所有子目录中的所有 .js 文件。

    13310

    递归

    递归问题通常可以分解成多个相似的子问题,从而简化复杂问题的求解。递归通常由两部分组成:基准情况(Base Case):递归的终止条件。...③计算过程:调用 fibonacci(10) 时,代码会按照递归的方式逐步计算:fibonacci(10) -> fibonacci(9) + fibonacci(8) -> (fibonacci...os.path.exists("D:/test")) # 判断指定路径是否存在def get_files_recursion_from_dir(path): """ 从指定的文件夹中使用递归的方式...,获取全部的文件列表 :param path: 被判断的文件夹 :return: list,包含全部的文件,如果目录不存在或者无文件就返回一个空list """ # 初始化一个空列表...目录为空:虽然不需要递归,但函数仍需处理这种情况以返回结果。函数返回包含找到的文件(如果有)的列表②递归情况:处理子目录:递归调用自身来处理子目录中的文件。处理文件:将文件路径添加到结果列表中。

    8121

    【实用 Python 库】Python glob库:轻松应对文件和目录管理

    通常情况下,我们在命令行中使用通配符来搜索文件,例如*.txt表示匹配所有以.txt为后缀的文件。glob库允许我们以编程的方式在Python脚本中执行类似的文件匹配操作。...匹配特定目录 如果我们希望匹配的文件在子目录中,我们可以使用双星号**来进行递归搜索。...例如,假设我们只想匹配以file开头的文件: import glob import fnmatch # 获取所有以'file'开头的文件 file_starting_with_file = fnmatch.filter...但是,有时候我们可能需要按照自定义的方式对匹配结果进行排序。在这种情况下,我们可以使用Python的内置sorted()函数来对匹配结果进行排序。...遍历子目录中的文件 前面我们介绍了使用**来进行递归搜索,但如果你只希望遍历子目录中的文件而不进一步进入子目录,可以使用glob.glob()结合os.path.join()来实现。

    1.7K40

    Linux基本指令大全及详解

    -t 以时间排序。 -s 在l文件名后输出该文件的大小。(大小排序,如何找到目录下最大的文件) -R 列出所有子目录下的文件。...rm命令可以同时删除文件或目录 语法: rm [-f-i-r-v][dirName/dir] 适用对象:所有使用者 功能:删除文件或目录 简单来说就是用来删除一个文件的: 但如果要删除一个目录,就需要递归删除...,加上-r: 7.man指令: Linux的命令有很多参数,我们不可能全记住,我们可以通过查看联机手册获取帮助。...,将指定目录下的文件与子目录一并处理。...若源文件或目录的形态,不属于目录或符号链 接,则一律视为普通文件处理 -R 或 --recursive递归处理,将指定目录下的文件及子目录一并处理 举例:复制test2.c到dir中: 同样,如果是复制目录文件

    6510

    R语言 Day4

    dir与list.files区别 在R语言中,dir()和list.files()都是用于获取文件系统中文件和目录列表的函数,但它们有些许不同之处。...dir()函数: dir()函数用于列出当前工作目录中的文件和子目录。 该函数还可以接受参数来指定要列出的目录。 默认情况下,dir()返回的是文件和子目录的名称的字符向量。...list.files()函数: list.files()函数用于列出指定目录中的文件和子目录。 与dir()函数不同,list.files()专门用于列出文件而不是文件和目录。...可以通过指定参数recursive = TRUE来递归地列出子目录中的文件。...总之,dir()函数和list.files()函数都用于获取文件系统中的文件和目录列表,但dir()返回的是文件和目录的名称,而list.files()返回的是文件的名称(当然,也可以通过递归列出子目录中的文件

    18810

    Windows 命令行快速上手

    在 PowerShell 中,type 是 Get-Content cmdlet 的内置别名,它也显示文件的内容,但使用不同的语法。.../z:以可重新启动模式复制网络文件。 复制文件 copy source_file destination 使用通配符或加号复制多个文件。...copy dir destination 不能递归复制子目录,如果想递归复制子目录,需要使用 xcopy 命令。 xcopy 复制文件和目录,包括子目录。.../e:递归复制子目录及其内容,包括空目录。 /h:复制隐藏和系统文件。 /i:如果目标是目录或包含多个文件,将其视为目标目录。 /k:复制文件并保留目标文件的只读属性(如果源文件中存在)。.../s:递归复制子目录及其内容。 /v:验证每个新文件的一致性。 /y:不提示确认是否覆盖现有文件。 复制文件。 xcopy file dir 递归复制文件夹及其内容到目标目录,包括空目录。

    37620

    软件测试|Linux 基础教程:创建和删除目录

    -p 选项递归创建所有目录,以创建/home/test/demo为例,在默认情况下,你需要一层一层的创建各个目录,而使用 -p 选项,则系统会自动帮你创建 /home、/home/test以及/home...但需要注意,删除目录时必须确保目录为空,否则 rmdir 命令会报错。如果目录不为空,您需要使用 rm 命令以递归方式删除目录和其内容。...Downloads Music Pictures Public salah snap Templates Videosmuller@ubuntu:~$ 注意,此方式先删除最低一层地目录...-r:递归删除,主要用于删除目录,可删除指定目录及包含的所有内容,包括所有的子目录和文件。...y#会分别询问是否进入子目录、是否删除子目录强制删除[root@localhost ~]# mkdir -p /test/lm/movie/jp#重新建立测试目录[root@localhost ~]#

    22520

    【linux命令讲解大全】003.掌握文件属性与权限:chattr和chgrp工具的使用

    R:递归处理,将指令目录下的所有文件及子目录一并处理; v:设置文件或目录版本; V:显示指令执行过程; +:开启文件或目录的该项属性; -:关闭文件或目录的该项属性; =以拥有者及所属群组来管理。您可以使用chgrp指令去变更文件与目录的所属群组,设置方式采用群组名称或群组识别码皆可。...语法 chgrp [选项][组群][文件|目录] 选项 -R:递归式地改变指定目录及其下的所有子目录和文件的所属的组 -c或--changes:效果类似-v参数,但仅回报更改的部分; -f或--quiet...不显示错误信息; -h或--no-dereference:只对符号连接的文件作修改,而不是该其他任何相关文件; -H:如果命令行参数是一个通到目录的符号链接,则遍历符号链接; -R或--recursive:递归处理...实例 将/usr/meng及其子目录下的所有文件的用户组改为mengxin chgrp -R mengxin /usr/meng 更改文件ah的组群所有者为newuser chgrp newuser ah

    19310

    理解二叉树前序遍历:定义、实现与应用

    二叉树的遍历是按某种顺序访问二叉树所有节点的过程,前序遍历作为其中一种基本遍历方式,在众多算法和数据处理场景有着广泛应用。...(二)遍历过程和特点以如下二叉树为例: A / \ B C / \ \D E F前序遍历时,首先访问根节点A,然后进入左子树。...二、前序遍历的实现方式(一)递归实现1....(二)目录结构的遍历把文件系统的目录结构当作二叉树,要按先处理根目录下文件,再处理左子目录(若有)、最后处理右子目录(若有)的顺序访问时,前序遍历即可满足需求。...总结前序遍历在二叉树遍历方式中有独特之处。与其他遍历方式(中序遍历和后序遍历)相比,访问节点顺序明显不同。其递归实现简洁直观,但易栈溢出;迭代实现可解决此问题但代码复杂。

    9300

    Linux磁盘空间的利器:`df` 和 `du`命令

    它可以递归地遍历指定目录下的所有文件和子目录,并计算它们的磁盘使用量。du 命令可以帮助我们快速了解文件和目录所占用的磁盘空间,方便进行磁盘清理或者查找磁盘空间占用较大的文件。...可以通过 -h 选项以人类可读的格式显示磁盘空间:df -h图片该命令将以易读的方式显示磁盘空间,使用诸如 KB、MB、GB 等单位。...以人类可读的格式显示磁盘空间与 df 命令类似,du 命令也可以通过 -h 选项以人类可读的格式显示磁盘空间:du -h /path/to/directory这将以易读的方式显示指定目录的磁盘空间使用情况...du 命令可以使用 -d 选项指定递归深度,通过设置深度为 1,可以只显示指定目录的直接子目录的磁盘使用量:du -h -d 1 /path/to/directory这将显示指定目录下每个子目录的磁盘使用量...这些命令提供了实用的选项,例如以人类可读的格式显示磁盘空间,以及递归查看子目录的磁盘空间使用情况。

    1.1K20
    领券