`
iluoxuan
  • 浏览: 584596 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

文件目录和操作库

 
阅读更多

 

import os
import string
print os.path.abspath("test.txt")
dir = os.path.dirname(os.path.abspath("test.txt"))
print dir
print os.path.exists("test.txt")
print os.path.basename(os.path.abspath("test.txt"))
print os.path.join(dir,"test.txt")

 结果:

 

E:\mylearn\mypython\weibo\test.txt
E:\mylearn\mypython\weibo
True
test.txt
E:\mylearn\mypython\weibo\test.txt
 

os.path中的常用函数

2011年8月17日

os.path.abspath(relative_path)

返回绝对路径

abspath = normpath(join(os.getcwd(), relative_path))

Sample:

当前路径是 /home/justtest,则:

abspath('./code/test.py') => '/home/justtest/code/test.py

os.path.relpath(path[, start])

返回相对路径, start的默认值是 os.curdir

假设当前路径是 /home/justtest

relpath('/home/justtest/test.py') => 'test.py'
relpath('/home/anothertest/test.py', '/home/anothertest') => 'test.py'

os.path.basename(path)

返回文件名

basname(path) = split(path)[1]

basename('/home/justtest/test.py') =>'test.py'
basename('/home/justtest/') =>''

os.path.dirname(path)

返回目录名,不包含文件名。注意:返回的路径名不含最后的斜杠

dirname(path) = split(path)[0]

dirname('/home/justtest/test.py') =>/home/justtest'
dirname('/home/justtest/') =>'/home/justtest'

os.path.split(path)

将 path 分解成 (路径, 文件名)

split('/home/justtest/test.py') = ('/home/justtest', 'test.py')
split('/home/justtest/') = ('/home/justtest', '')

os.path.join(path1[, path2[, ...]])

合并多个路径

join('/home', 'justtest', 'test.py') => '/home/justtest/test.py'
join('/home/justtest', 'test.py') => '/home/justtest/test.py'

os.path.normpath(path)

将路径正规化:去除多余的分隔符,将 . 和 .. 变成真实路径,处理错误的斜杠

normpath('\home/justtest') => '\\home/justtest'
normpath('/home/./justtest') => '/home/justtest'
normpath('/home/../justtest') => '/justtest'

os.path.exists(path)

文件或路径是否存在并且有权限访问

os.path.isabs(path), isfile(path), isdir(path), islink(path)

isabs: 是否绝对路径

isfile: 是否文件

isdir: 是否路径

islink: 是否link

os.path.walk(path, callback, arg)

遍历路径,对路径中的每个文件调用callback函数

callback函数的原型如下:

callback(arg, path, files)
    @arg: walk函数的参数
    @path: 路径
    @files: 路径下的所有文件
分享到:
评论

相关推荐

    探索 C++ std::filesystem 库:文件与目录操作的强大利器

    详细阐述 std::filesystem 库的主要功能,包括文件和目录的路径处理、文件属性查询、文件和目录的创建与删除、文件的读写操作以及目录的遍历等。通过丰富的代码示例展示每个功能的具体用法和实际应用场景,分析该库...

    目录树支持库

    在开发过程中,尤其是在需要处理大量文件和目录的操作时,目录树支持库显得尤为重要。 在给定的压缩包文件"云外归鸟的目录树支持库静态版eDirTreefne"中,我们可以推测这可能是一个由名为"云外归鸟"的开发者或团队...

    二级目录文件系统模拟

    在计算机科学中,文件系统是操作系统用来组织、存储和检索文件的一种方法。...在完成这个项目后,我们可以更好地理解如何在程序中与文件系统进行交互,这对于任何涉及文件操作的软件开发都极其重要。

    VC++ 遍历FTP文件目录

    我们需要解析这个响应,提取出文件和目录的名称。 5. **遍历目录**:使用递归或循环结构,通过`CWD`命令进入子目录,并使用`LIST`命令获取子目录的文件列表。对于每个返回的文件或目录,可以根据需要进行处理,如...

    Qt删除一个目录下所有文件和文件夹

    删除文件和目录时,应检查操作是否成功,并处理可能出现的异常情况,如权限问题、文件正在被使用等。 6. **递归删除**: 如上所示,为了删除包含文件和子目录的目录,需要编写一个递归函数,逐层删除子目录中的...

    lfs.zip_IOS文件操作库lfs.so

    《iOS中的LFS文件操作库:lfs.so详解》 在iOS应用开发中,文件操作是必不可少的一部分。本文将深入探讨一个专为iOS系统设计的轻量级文件系统(Little File System,简称LFS)库——lfs.so,它允许开发者在Lua环境中...

    Python-Unipath用面向对象的方式操作文件和目录

    总的来说,Unipath是Python中一个实用的工具,它提供了一种面向对象的方式来处理文件和目录,简化了常见的文件操作,并提高了代码的可读性。如果你对Python的面向对象编程风格有所偏好,或者希望让你的文件操作代码...

    Python实现了简单的项目打包、备份和其他操作,如创建和复制文件和目录.zip

    使用Python,可以通过简单的文件操作命令(例如使用os模块的文件复制命令),实现基本的备份功能。 此外,创建和复制文件与目录也是日常开发和系统维护中的基本操作。在Python中,通过os和shutil等模块,开发者可以...

    linux环境下利用zlib库实现压缩目录的c++程序

    总之,使用zlib库在Linux环境下压缩目录至.zip文件是一个涉及文件系统操作、数据流压缩和.zip文件格式理解的综合任务。通过学习和实践,不仅可以掌握C++编程技巧,还能深入理解文件压缩和打包技术。

    易语言学习-大鸟的目录树支持库--静态版(二次修正).zip

    目录树支持库在编程中扮演着重要角色,它帮助程序员更方便地管理文件系统中的目录结构,进行文件和目录的创建、读取、修改和删除等操作。 大鸟的目录树支持库可能包含了一系列的易语言模块或组件,这些模块提供了...

    易语言学习-大鸟的目录树支持库--静态版.zip

    这个库是针对易语言开发的一种扩展工具,它为易语言提供了处理文件目录结构的能力,对于进行文件管理、文件操作等自动化任务非常有用。 目录树支持库通常包含了一系列的函数或方法,使得开发者可以通过调用来遍历、...

    c++移动、复制文件,新建目录

    总结来说,C++通过`std::filesystem`库为我们提供了方便的接口来处理文件和目录。无论是移动文件、复制文件还是新建目录,都可以通过调用相应的函数并配合异常处理来实现。在实际项目中,根据具体需求,可能还需要...

    C++ Zlib库实现zip文件压缩解压(支持递归压缩)

    总的来说,`C++`结合`Zlib`库和`minizip`库,能够有效地处理`zip`文件的压缩和解压缩任务,特别是递归压缩功能,使得处理复杂目录结构变得更加便捷。在软件更新场景下,这种组合可以为用户提供高效、可靠的更新体验...

    HX711库文件

    "简单功能"可能是指库文件包含了基本的初始化、数据采集和校准等操作,适合初学者快速上手。同时,存在“说明文当”,意味着该压缩包中可能包含了一份使用指南或者API文档,帮助开发者理解如何正确使用这个库。 ...

    Java FTP 指定下载文件和上传文件到指定的服务器目录

    通过本文介绍的方法,您可以轻松实现Java应用程序中对FTP服务器的文件上传与下载操作,并能有效地指定文件上传和下载的目标目录。这对于企业级应用中的文件管理有着重要的作用。同时,在实际应用过程中还需注意安全...

    NetCDF 4.2.1库文件

    因此,你需要将`netcdf.dll`放在系统的PATH环境变量所包含的目录下,或者与你的可执行文件放在一起,以便系统能找到并加载这个库。 另一方面,`netcdf.lib`是静态或动态链接库的导入库文件,用于编译期间链接到你的...

    Windows OpenCV编译后的库文件

    编译成功后,OpenCV的库文件会出现在指定的输出目录下,通常包括.lib静态链接库和.dll动态链接库。这些库文件是用于在Windows平台上链接OpenCV功能的关键。 8. **安装与使用**: 将生成的库文件复制到适当的位置...

    使用ZLIB库压缩解压源码(支持多级文件目录)

    5. **文件读写**:在读取和写入文件时,需要使用适当的I/O操作,例如`fopen()`、`fwrite()`和`fclose()`。同时,`StdAfx.cpp`和`StdAfx.h`通常包含预编译的头文件,以提高编译速度。 6. **压缩结束**:最后,调用`...

    C#sftp实现对文件的操作

    总结起来,C#通过SSH.NET库可以轻松实现SFTP文件操作,包括连接、上传、下载、删除和移动文件。在开发涉及SFTP的C#应用时,理解这些基本操作是至关重要的。同时,为用户提供友好的图形界面,如"formClient",可以...

    avilib文件读写库

    "avilib文件读写库"是一个专为处理AVI文件而设计的共享库,它提供了简洁的接口,使得开发者能更轻松地进行AVI文件的读取和写入操作。在编程领域,这样的库对于多媒体应用开发尤其重要,因为它简化了对复杂媒体文件...

Global site tag (gtag.js) - Google Analytics