文件目录操作实例2

FFMpeg文件目录操作 FFMpeg文件目录操作 1.文件的删除与重命名 删除 avpriv_io_delete() 移动 avpriv_io_move() 2.代码 #include <libavformat/avformat.h> #include <libavutil/log.h> #include <stdio.h> int main(int arg,char* argv[... 阅读详情

文件目录操作实例2——文件目录操作

本实例可用的实际操作:文件目录批量复制移动删除,目录压缩,文件批量解压缩。
更新上篇文章的遍历操作 & os、shutil的文件目录操作实例。

基础更新:上篇遍历操作更新

上一练习虽然最后呈现出来的结果优雅,但存在一个bug:当文件夹名为 “files” 的时候,会冲突,现采用列表装文件,字典装子目录,整体用列表装。即:
[[文件1, 文件2], {“目录1”: [[子文件…], {子目录…}], “目录2”: [[子文件…], {子目录…}]}]
示例:
操作对象:a文件夹里有b文件夹和c文件,b文件夹里有d文件夹和e文件。
操作结果:[[], {‘a’: [[‘c’], {‘b’: [[‘e’], {‘d’: [[], {}]}]}]}]。

拓展更新(基于新的目录树结构):输出目录树,搜索文件——模糊/精确查询,复制、移动、删除文件或目录、压缩目录、解压缩文件(部分操作批量)

(输出目录树)示例:
操作对象:a文件夹里有b文件夹和c文件,b文件夹里有d文件夹和e文件。通过基础更新生成的文件目录关系对象。
操作结果:

└── a
    ├── c
    └── b
        ├── e
        └── d
  • 输出目录树
  • 搜索文件——模糊/精确查询
  • 复制文件或目录
  • 移动文件或目录
  • 删除文件或目录
  • 压缩目录
  • 解压缩文件
  • 批量操作

基础更新

基础准备

首先导入相关库:

import os  # 系统库之一,此处用来处理文件、目录以及路径操作
import shutil  # 高级的文件、文件夹、压缩包处理模块
实际操作

核心操作未变,所以直接贴代码:

path = os.path.abspath('practise')  # E:\Python\DEMO\Study\practise(示例路径,此处可以使用绝对路径,也可以使用相对路径)
paths = [[], {}]


def loop(zp: list, lj: str = path):
    """
    循环遍历目录,添加文件。
    :param zp: 子目录列表
    :param lj: 当前路径
    :return: None
    """
    lj = lj.replace('/', '\\')
    assert os.path.exists(lj), ValueError('请输入正确的文件或目录路径!')  # 保证源路径存在
    for i in os.listdir(lj):
        if os.path.isfile(f'{lj}\\{i}'):
            zp[0].append(i)
        elif os.path.isdir(f'{lj}\\{i}'):
            zp[1].update({i: [[], {}]})
            loop(zp[1][i], f'{lj}\\{i}')


loop(paths)

在这里也没有导入json库,就不打印结果了,不要问为什么,问就是我对函数正确性有迷之自信~

拓展更新

基础准备
  • '.'.join(file.split('.')[:-1] or file.split('.'))
    • 这行代码用于获取文件 file 除了后缀其他部分;or file.split('.') 为了防止没有没有点后缀造成空值,默认获取文件名本身。
    • 例1(文件名:a.b.c):'.'.join('a.b.c'.split('.')[:-1] or 'a.b.c'.split('.')) 返回 'a.b'。
    • 例2(文件名:a):'.'.join('a'.split('.')[:-1] or 'a'.split('.')) 返回 'a'。
  • yield、yield from
    • yield :生成器,不会等待函数执行完毕就直接生成结果。
    • yield from :从生成器中获取生成器,即将 <generator object test at XXX> 对象变成 for generator in test(): yield generator ,这可以方便我们在递归中生成元素。
  • os.makedirs(name, mode=0o777, exist_ok=False)
    • 递归调用 os.mkdir();name 为路径,为必须参数。
    • mode为权限模式,一个八进制数,默认全部允许读、写、执行。
    • exist_ok=True的时候,如果路径存在不会报错;exist_ok=False的时候,如果路径存在会抛出 FileExistsError 等异常。
  • shutil.copy2(src, dst, *, follow_symlinks=True)
    • 用于带元数据复制文件;元数据:文件的创建日期、修改日期等数据。
    • src :原路径(必须)。
    • dst :目标路径(必须)。
    • follow_symlinks=False :将不会跟踪快捷方式(选用,默认为 True )。
  • shutil.copytree(src, dst, symlinks=False, ignore=None, copy_function=copy2, ignore_dangling_symlinks=False)
    • 用于复制目录树,默认复制元数据。
    • src :原路径(必须)。
    • dst :目标路径(必须)。
    • symlinks :将不会跟踪快捷方式(选用,默认为 False )。
    • ignore :忽略复制的文件,为一个 callable 对象(选用,默认为 None )。
    • copy_function :复制的方法,copy 方法不复制元数据,copy2 方法复制元数据(选用,默认为 copy2 )。
    • ignore_dangling_symlinks=False :忽略复制快捷方式(选用,默认为 False )。
  • shutil.move(src, dst, copy_function=copy2)
    • 用于移动文件或者目录,由于移动操作是先复制再删除,所以会有复制方法的参数。
    • src :原路径(必须)。
    • dst :目标路径(必须)。
    • copy_function :复制的方法,copy 方法不复制元数据,copy2 方法复制元数据(选用,默认为 copy2 )。
  • os.remove(path, *, dir_fd)
    • 用于删除文件,和 os.unlink(path, *, dir_fd) 方法一致。
    • path :文件路径(必须)。
    • dir_fd :引用目录的文件描述符(选用,默认为 None )。
  • shutil.rmtree(path, ignore_errors=False, onerror=None)
    • 用于删除目录树;为什么不用 os.rmdir(path, *, dir_fd) 和 os.removedirs(name) ?理由如下:
      • os.rmdir(path, *, dir_fd) 只能删除空的子目录。
      • os.removedirs(name) 可以递归删除目录树,但要求目录路径最深层子文件夹必须是空的。
      • 综上这两种方法太过底层,默认缺少对环境的判断,不便于使用。
    • path :文件路径(必须)。
    • dir_fd :引用目录的文件描述符(选用,默认为 None )。
  • shutil.make_archive(base_name, format, root_dir=None, base_dir=None, ...)
    • 用于压缩目录。
    • base_name :要压缩的目录路径(必须)。
    • format :压缩包种类,可用 shutil.get_archive_formats() 获取合法的压缩包种类(必须)。
    • root_dir :要压缩的路径根目录,只能指定路径(选用,默认为当前目录;优先级低于 base_dir )。
    • base_dir :要压缩文件的路径,可以指定路径下的文件名,也可以指定路径(选用,默认为当前目录)。
  • shutil.unpack_archive(filename, extract_dir=None, format=None)
    • 用于解压缩文件。
    • filename :要解压缩的文件路径(必须)。
    • extract_dir :解压到的目录路径(选用,默认为当前目录)。
    • format :压缩包种类(选用,默认根据压缩文件后缀获取)。
实际操作
输出目录树

用└──前缀代表同根的最后节点,其他节点用├──前缀代表;当同根非最后节点目录输出其子文件和子文件夹时,使用│代表与上文的关联,各个变量解释参见函数文档注释:

def dump(node: list, depth: int = 0, space: str = ''):
    """
    打印目录树。
    :param node: 子目录字典
    :param depth: 递归深度
    :param space: 子项前缀
    :return: None
    """
    dirs = list(node[1].keys())  # 获取当前目录中的所有子目录
    for f in range(len(node[0])):  # 遍历打印当前目录中的所有文件
        if f + 1 == len(node[0]) + len(dirs):
            print(f"{space}└── {node[0][f]}")  # 当前文件是该目录最后一个文件或目录
        else:
            print(f"{space}├── {node[0][f]}")  # 当前文件非最后一个文件
    for d in range(len(dirs)):
        if d + 1 == len(dirs):
            print(f"{space}└── {dirs[d]}")
            dump(node[1][dirs[d]], depth + 1, space + '    ')  # 该节点为最后节点,后续节点不添加竖线
        else:
            print(f"{space}├── {dirs[d]}")
            dump(node[1][dirs[d]], depth + 1, space + '│   ')  # 在一般节点前要添加竖线


dump(paths)
搜索文件——模糊/精确查询

分两个函数实现,为了适应各种返回情况;这里采用 yield 和 yield from 生成器来动态返回查询到的所有文件路径,允许文件名模糊查询,如果有后缀,则匹配后缀是否完全一致,各个变量解释参见函数文档注释:

def _search(node: list, file: str, lj: str, directory: bool = False):
    lj = lj.replace('/', '\\')
    for f in node[0]:
        if '.'.join(file.split('.')[:-1] or file.split('.')) in '.'.join(f.split('.')[:-1] or file.split('.')):  # 不管是没有点还是有多个点,始终匹配最后一个点前或整体
            if '.' in f and '.' in file:
                if f.split('.')[1] == file.split('.')[1]:  # 有后缀的时候判断后缀是否相等
                    yield f'{lj}\\{f}'
            else:
                yield f'{lj}\\{f}'
    for d in node[1].keys():
        if directory and file in d:
            yield f'{lj}\\{d}'
        yield from _search(node[1][d], file, f'{lj}\\{d}', directory)


def search(node: list, file: str, lj: str, directory: bool = False, detail: bool = False):
    """
    打印目录树。
    :param node: 子目录字典
    :param file: 要模糊查询的文件(允许用点后缀表示要查找的后缀,此时点前面仍然模糊查询)或目录
    :param lj: 当前路径
    :param directory: 允许查询目录
    :param detail: 是否精确查询
    :return: 找到的文件或目录路径
    """
    assert os.path.exists(lj), ValueError('请输入正确的文件或目录路径!')  # 保证源路径存在
    res = list(_search(node, file, lj, directory))
    if res:
        if detail:
            return [i for i in res if file == i.split('\\')[-1]]
        return res
    if directory:
        return f'未找到文件或目录:{file}'
    return f'未找到文件:{file}'


print(search(paths, 'dark.css', path, True, True))
复制文件或目录

通过 shutil.copy2 函数复制文件以及其元数据,通过 shutil.copytree 函数复制目录以及其元数据,各个变量解释参见函数文档注释:

def copy(ori: str, src: str):
    """
    复制文件或目录
    :param ori: 文件或目录路径
    :param src: 目标地址,目标路径不存在则自动创建
    :return: 执行的结果
    """
    ori = ori.replace('/', '\\')
    src = src.replace('/', '\\')
    assert os.path.exists(ori), ValueError('请输入正确的文件或目录路径!')  # 保证源路径存在
    if not os.path.isdir(src):
        os.makedirs(src)  # 保证目标路径存在
    try:
        if os.path.isdir(ori):
            shutil.copytree(ori, f'{src}\\' + ori.split('\\')[-1], symlinks=True)  # 带元数据复制目录
        elif os.path.isfile(ori):
            shutil.copy2(ori, f'{src}\\' + ori.split('\\')[-1], follow_symlinks=True)  # 带元数据复制文件
        return '复制成功!'
    except Exception as e:
        print(e)
        return '复制失败!'


print(copy('E:\\Python\\DEMO\\Study\\test', 'F:\\桌面'))
移动文件或目录

通过 shutil.move 函数移动文件或目录,各个变量解释参见函数文档注释:

def move(ori: str, src: str):
    """
    移动文件或目录
    :param ori: 文件或目录路径
    :param src: 目标地址,目标路径不存在则自动创建
    :return: 执行的结果
    """
    ori = ori.replace('/', '\\')
    src = src.replace('/', '\\')
    assert os.path.exists(ori), ValueError('请输入正确的文件或目录路径!')  # 保证源路径存在
    if not os.path.isdir(src):
        os.makedirs(src)  # 保证目标路径存在
    try:
        shutil.move(ori, src)  # 移动文件
        return '移动成功!'
    except Exception as e:
        print(e)
        return '移动失败!'


print(move('E:\\Python\\DEMO\\Study\\test', 'F:\\桌面'))
删除文件或目录

通过 os.remove 函数删除文件,通过 shutil.rmtree 函数删除目录,各个变量解释参见函数文档注释:

def delete(ori: str):
    """
    删除文件或目录
    :param ori: 文件或目录路径
    :return: 执行的结果
    """
    if not os.path.exists(ori):
        return '目标路径不存在'
    try:
        if os.path.isfile(ori):
            os.remove(ori)  # 删除文件
        elif os.path.isdir(ori):
            shutil.rmtree(ori)  # 删除目录
        return '删除成功!'
    except Exception as e:
        print(e)
        return '删除失败!'


print(delete('E:\\Python\\DEMO\\Study\\test'))
压缩目录

通过 shutil.make_archive 函数压缩目录,各个变量解释参见函数文档注释:

def compression(ori: str, src: str, type_: str):
    """
    压缩文件
    :param ori: 目录路径
    :param src: 目标地址
    :param type_: 压缩类型,为 ['bztar', 'gztar', 'tar', 'xztar', 'zip'] 之一
    :return: 执行的结果
    """
    ori = ori.replace('/', '\\')
    src = src.replace('/', '\\')
    assert os.path.isdir(ori), ValueError('请输入正确的目录路径!')  # 保证源路径存在
    assert type_.lower() in [_[0] for _ in shutil.get_archive_formats()]  # 保证压缩类型合法
    if '\\' not in src:  # 防止原路径是根目录导致无文件名
        src += ori.split('\\')[-1]
    if not os.path.isdir('\\'.join(src.split('\\')[:-1])):
        if '\\'.join(src.split('\\')[:-1]):  # 防止原路径是根目录导致此值为空
            os.makedirs('\\'.join(src.split('\\')[:-1]))  # 保证目标路径存在
    while os.path.isfile(f'{src}.{type_.lower()}'):
        if input(f'文件 {src}.{type_.lower()} 已存在,是否覆盖?y/n(n)').lower() != 'y':  # 文件覆盖提示
            src = '\\'.join(src.split('\\')[:-1] + [input('请输入压缩后的文件名(不含后缀):')])
        else:
            break
    try:
        shutil.make_archive(src, type_.lower(), ori)
        return '压缩成功!'
    except Exception as e:
        print(e)
        return '压缩失败!'


print(compression('test\\a', 'F:\\桌面\\f', 'zip'))
解压缩文件

通过 shutil.unpack_archive 函数解压缩文件,各个变量解释参见函数文档注释:

def unzip(ori: str, src: str = os.getcwd()):
    """
    压缩文件
    :param ori: 文件路径
    :param src: 目标地址
    :return: 执行的结果
    """
    ori = ori.replace('/', '\\')
    src = src.replace('/', '\\')
    assert os.path.isfile(ori), ValueError('请输入正确的文件路径!')  # 保证源路径存在
    if not os.path.isdir(src):
        os.makedirs(src)  # 保证目标路径存在
    try:
        shutil.unpack_archive(ori, src)
        return '解压缩成功!'
    except Exception as e:
        print(e)
        return '解压缩失败!'


print(unzip('F:\\桌面\\f.zip'))
批量操作

由于批量压缩要对应多输出文件名,与本处设计的单变量列表结构不同,所以此处只允许复制、移动、删除、解压缩这四种操作,其中 function.__name__ 代表操作的函数名,会返回操作每一个文件或目录的执行结果,各个变量解释参见函数文档注释:

def batch(path_list: list, function: (copy, move, delete, unzip), *args):
    """
    多文件目录复制、移动、删除、解压缩批量操作
    :param path_list: 文件或目录路径列表
    :param function: 操作函数
    :param args: 除文件或目录路径参数的其他参数
    :return: 执行的结果
    """
    try:
        res = []
        for p in path_list:
            res.append(f'{function.__name__} 文件 {p} 的操作结果:{function(p, *args)}')
        return '\n'.join(res)
    except Exception as e:
        print(e)
        return '批量操作执行失败!'


print(batch(['test\\a\\c', 'test\\a\\b'], copy, 'F:\\桌面'))
print(batch(['F:\\桌面\\c', 'F:\\桌面\\b'], delete))

结束语

如果有喜欢面向对象编程的朋友可以改写成类哦~ 不过写成类我感觉应该都是静态方法。

操作系统15:文件和文件目录 在对索引顺序文件进行检索时,首先也是利用关键字以及某种查找算法去检索索引表,找到该记录所在记录组中第一个记录的表项,从中得到该记录组第一个记录在主文件中的位置。但为了能实现文件存储空间的动态分配,通常由 Hash 函数所求得的并非是相应记录的地址,而是指向某一目录表相应表目的指针,该表目的内容指向相应记录所在的物理块,如下图所示。索引顺序文件是对顺序文件的一种改进,它基本上克服了变长记录的顺序文件不能随机访问,以及不便于记录的删除和插入的缺点,它是顺序文件和索引文件相结合的产物。单级文件目录如下图所示。 阅读详情

相关推荐

【QT】文件目录操作

文件的读写是很多应用程序具有的功能,甚至某些应用程序就是围绕着某一种格式文件的处理而开发的,所以文件读写是应用程序开发的一个基本功能。 Qt为文件和目录操作提供了一些类,这些类基本涵盖了文件操作需要的主要功能,有些功能还在某些类里重复出现,例如QFile和QDir都具有删除文件、判断文件是否存在的功能。 实例samp7_3演示前述各种目录与文件操作类的主要功能。

u011671745的博客 1031

文件目录操作实例1

文件目录操作实例1——遍历 本实例可用的实际操作:制作文件、目录管理程序,磁盘占用管理,文件、目录批量复制、移动、压缩等。 基础实现将get到递归和os.walk的用途;拓展实现将get到os.stat对文件状态的获取、文件、目录批量复制、移动、压缩。 基础实现:遍历一个目录,把所有文件和目录的归属表示出来。 示例: 操作对象:a文件夹里有b文件夹和c文件,b文件夹里有d文件夹和e文件。 操作结果:{‘files’: [], ‘a’: {‘files’: [‘c’], ‘b’: {‘files’: [

user_from_future的博客 1188

FreeSWITCH视频通话实战:关键配置文件解析与编解码优化

本文详细解析了FreeSWITCH视频通话实战中的关键配置,重点介绍了如何通过修改`conf/vars.xml`和`sip_profiles/internal.xml`文件来启用媒体代理、优化编解码器设置(如H.264和VP8),并解决常见的视频流协商与网络穿透问题,帮助用户快速实现稳定、高质量的视频通话功能。

js777的博客 256

官网实例详解-目录和实例简介-keras学习笔记四

https://github.com/keras-team/keras/tree/master/examples Keras examples directory Keras实例目录 (点击跳转)   官网实例详解4.1(addition_rnn.py) 官网实例详解4.2(antirectifier.py) 官网实例详解4.3(babi_memnn.py) 官网实例详解4.4(ba...

wyx100的专栏 9505

win10下面安装MTK USB VCOM 驱动

win10下面安装MTK USB VCOM 驱动1.概述2.驱动准备3.主要步骤3.1禁用win10对没有签名驱动限制3.2通过设备管理器安装mtk usb vcom驱动3.3工具版本问题4.禁用win10对没有签名的驱动限制4.1在设置中打开 更新和安全4.2进入恢复4.3在高级启动中点击立即重新启动4.4电脑重启后的几个动作5.通过设备管理器安装MTK USB VCOM 驱动5.1准备驱动5....

qimi123456的专栏 3万+

解决方案:“Project1.exe”(Win32): 已加载“C:\Windows\SysWOW64\KernelBase.dll”。无法查找或打开 PDB 文件。

解决方案:“Project1.exe”(Win32): 已加载“C:\Windows\SysWOW64\KernelBase.dll”。无法查找或打开 PDB 文件。 添加getchar();代码块解决无法查找或打开PDB文件。 错误提示: “Project1.exe”(Win32): 已加载“C:\Windows\SysWOW64\ntdll.dll”。无法查找或打开 PDB 文件。 “Pro...

m0_46523403的博客 6421

目录范例(上)

1.     cd (不带参数,直接进入主目录) mkdir -p a1/a2/a3 mkdir -p b1/b2/b3/b4/b5 mkdir -p c1/c2/c3/c4   cd a1/a2/a3 pushd . (或者使用别名“+”) cd ~/b1/b2/b3/b4/b5 pushd . (或者使用别名“+”) cd ~/c1/c2/c3/c4 pwd (这时当

Jenya's blog 504

“华为杯”研究生数学建模竞赛2020年-【华为杯】E题:能见度估计与预测(附获奖论文及python代码实现)

因此,题目要求借助机场的 AMOS 观测数据中的气压、温度、湿度、风速等气象因子,达到 100% 时,空气中的水汽便会凝结成细微的水滴悬浮于空中,使地面水平的能见度下。传统的仪器探测法成本高,覆盖范围小,而基于视频的能见度检测能弥补仪器测量的不足之处,但是预测精度不高,需要进一步改。象条件,空气质量的影响,其中较为关键的影响因子是雾和霾。性过强,激光能见度仪的检测方法更为可信,但是激光能见度仪覆盖的检测范围小,安装。覆盖的交通视频路况数据间接计算得到能见度数值的方法,此方法成本较低,覆盖范围广。

getusushu的博客 2285

Java后台管理应用:如何在树结构上做模糊查询?

开发企业后台管理应用时,经常会遇到一种场景:在树结构上做模糊查询。 比如:公司组织架构树、分类树等,通常是在页面上的文本框中输入一个关键字,例如"数据",然后在公司组织架构树中过滤出名字包含数据的部门,且保持树结构不变。 公司的一级部门、二级部门、三级部门等等,名字都有可能包含"数据",比如一级部门叫大数据部门,二级部门叫数据分析部门或数据开发部门等等,这些都是符合要求的。 下面我将造出一个简单的分类树,并实现在树结构上模糊查询的功能(这里为了简单,将树的层级固定为三级,但实际上树的层级是未知的且远远不止三

学无止境! 5988

【批处理脚本】-0.1-如何运行批处理bat文件

如何运行批处理bat文件

「汽车电子助手」的博客 1586

MATLAB与ROS联合仿真——订阅ROS消息类功能模块介绍

MATLAB与ROS联合仿真——订阅ROS消息类功能模块介绍 (1)输入参数:无 (2)输出参数:Xr和Yr是小车当前在世界坐标系下的坐标 (3)主要作用:作为ROS与MATLAB的通讯接口,从ROS中订阅小车当前的位置信息,并输出 (4)内部结构: (5)具体实现过程:通过ROS工具箱中的Subscribe模块从ROS中订阅话题/gazebo/link_statesa 通过Bus Selector模块选择ROS总线中的Pose

慕羽★的博客 2699

根据关键字模糊查询,以树结构返回结构

package com.atguigu.commonutils; import com.atguigu.commonutils.entity.A; import org.springframework.util.CollectionUtils; import org.springframework.util.StringUtils; import java.util.ArrayList; import java.util.List; import java.util.Map; import java.u

IT精英之路的博客 1020

16、Cortex-M7处理器:高性能与复杂架构解析

本文深入解析了Cortex-M7处理器的高性能架构与复杂设计,涵盖AHB总线矩阵优化、超标量六阶段双发射流水线、增强型分支预测单元及双精度浮点支持。重点介绍了其独特的内存层次结构,包括指令与数据TCM、片上缓存和AXI-M 64位总线接口,提升系统并行性与执行效率。通过实际测试对比M4与M7性能差异,并演示如何将代码与数据定位到TCM以实现零等待运行。同时阐述了缓存机制的工作原理及其对系统性能的影响,为开发者提供全面的性能优化指导。

a1b2c3d的博客 127

通义万相Wan2.1强势开源,Comfyui版本部署教程

模型介绍通义万相(Wan)2.1 是阿里云通义实验室推出的开源多模态生成模型,支持文 / 图生视频、视频编辑及音视频生成。它包含 140 亿参数专业版和 13 亿参数极速版,基于自研 3D VAE 与 DiT 技术,可实现中英动态文字生成及 1080P 长视频编解码,适用于影视、广告及短视频创作等领域。

Misdirection_XG的博客 2940

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

ext2文件系统

2.1. 总体存储布局 请点评我们知道,一个磁盘可以划分成多个分区,每个分区必须先用格式化工具(例如某种mkfs命令)格式化成某种格式的文件系统,然后才能存储文件,格式化的过程会在磁盘上写一些管理存储布局的信息。下图是一个磁盘分区格式化成ext2文件系统后的存储布局。图 29.2. ext2文件系统的总体存储布局文件系统中存储的最小单

瞎几把学 953

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

文件目录操作命令一

一:ls命令 ls命令是linux下最常用的命令。ls命令就是list的缩写,ls用来打印出当前目录的清单;如果ls指定其他目录,那么就会显示指定目录里的文件及文件夹清单。 通过ls 命令不仅可以查看linux文件夹包含的文件,而且可以查看文件权限(包括目录、文件夹、文件权限),查看目录信息等等。ls 命令在日常的linux操作中用的很多! 1. 命令格式: ls [选项] [目录名] 2. 命令...

qq_38889350的博客 1380

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

2. Linux系统——文件目录管理操作

将/etc目录下所有文件打包压缩到/backup/data_03.tar.bz2。将/etc目录下所有文件打包压缩到/backup/data_02.tar.gz。将/etc目录下所有文件打包压缩到/backup/data_04.tar.xz。将/etc目录下所有文件打包存放到/backup/data.tar。ctrl + shift + “+” , 调大字体。将前一个命令的执行结果,交给后一条命令处理。ctrl + “-” 缩小字体。查看文件/etc/fstab的权限。调用命令的结果,命令引用。

u010198709的博客 2606

Hadoop文件目录操作命令

hdfs dfs -copyToLocal [-p] [-ignoreCrc] [-crc] <HDFS路径> <本地文件路径>hdfs dfs -copyFromLocal [-f] [-p] [-l] <本地路径> <HDFS上的路径>hdfs dfs -copyFromLocal [-f] [-p] [-l] <本地路径> <HDFS上的路径>hdfs dfs -put [-f] [-p] <本地路径> <HDFS上的路径>hdfs dfs -get [-p] <HDFS路径> <本地文件路径>

2401_88900302的博客 2038

Python中对文件目录的操作

和大家一起看看,Python中对文件目录操作有哪些(一起努力,咱们顶峰相见)

精益求精,永无止境,永远在路上! 9320

操作系统(19)文件目录

操作系统——文件目录篇

m0_73399576的博客 1537

C# 文件目录的操作DirectoryInfo

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.IO;//输入输出流命名空间 namespace _6001_文件目录的操作DirectoryInfo { class Using...

21号先锋者 2832

Qt文件目录操作

QCoreApplication 是为无 GUI 应用程序提供事件循环的类,是所有应用程序类的基类,其子类 QGuiApplication 为有 GUI 界面的应用程序提供流控制和主要设定,QGuiApplication 的子类 QApplication 为基于 QWidget 的应用程序提供支持,包括界面的初始化等。函数原型功能返回应用程序的启动路径返回应用程序的带有目录的完整文件名返回应用程序名称,无路劲无后缀返回动态加载库文件时应用程序搜索的目录列表为应用程序设置一个机构名。

Lenn Louis' Scribe 2170

Qt 文件目录操作

1.文件目录操作相关类 QCoreApplication:用于提取应用程序路径、程序名等文件信息 QFile:除了打开文件操作外,还有复制文件、删除文件等功能 QFileInfo:用于提取文件信息,包括路径、文件名、后缀 QDir:用于提取目录或文件信息,获取一个目录下的文件或目录列表,创建或删除目录和文件,文件重名等操作 QTemporaryDir 和 QTemporaryFile:用于创建临时目录和临时文件。 QFileSystemWatcher:监听目录下文件的添加、删除等变化 2.QCo

希望能帮助大家,希望大家多多支持,你们的支持是我前进的动力。 2257
上一篇: 文件目录操作实例1
下一篇: 与Python的点点滴滴
user_from_future
博客等级 码龄5年 4067粉丝 115原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值