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

目录操作(转)

 
阅读更多

1:

创建文件:
1) os.mknod("test.txt") 创建空文件
2) open("test.txt",w) 直接打开一个文件,如果文件不存在则创建文件

创建目录:
os.mkdir("file") 创建目录


创建多层新目录:
### 创建多层目录
def mkdirs(path):
# 去除首位空格
path=path.strip()
# 去除尾部 \ 符号
path=path.rstrip("\\")

# 判断路径是否存在
# 存在 True
# 不存在 False
isExists=os.path.exists(path)

# 判断结果
if not isExists:
# 创建目录操作函数
os.makedirs(path)
# 如果不存在则创建目录
print path + u' 创建成功'
return True
else:
# 如果目录存在则不创建,并提示目录已存在
print path + u' 目录已存在'
return False

复制文件:
shutil.copyfile("oldfile","newfile") oldfile和newfile都只能是文件
shutil.copy("oldfile","newfile") oldfile只能是文件夹,newfile可以是文件,也可以是目标目录

复制文件夹:
shutil.copytree("olddir","newdir") olddir和newdir都只能是目录,且newdir必须不存在

重命名文件(目录)
os.rename("oldname","newname") 文件或目录都是使用这条命令

移动文件(目录)
shutil.move("oldpos","newpos")

删除文件
os.remove("file")

删除目录
os.rmdir("dir") 只能删除空目录
shutil.rmtree("dir") 空目录、有内容的目录都可以删

转换目录
os.chdir("path") 换路径

判断目标
os.path.exists("goal") 判断目标是否存在
os.path.isdir("goal") 判断目标是否目录
os.path.isfile("goal") 判断目标是否文件
备注:若路径中含中文,在windows环境(编码为GBK)下,要将目录编码成GBK,如:dir.encode('GBK')

 2:

1: os.listdir(path) //path为目录
功能相当于在path目录下执行dir命令,返回为list类型
print os.listdir('..')
2: os.path.walk(path,visit,arg)
path :是将要遍历的目录
visit :是一个函数指针,函数圆形为:
callback(arg,dir,fileList)
其中arg为为传给walk的arg , dir是path下的一个目录,fileList为dir下的文件和目录组成的list, arg:传给visit用的
3:os.path.split(path)
path 为一个路径,
输出,把path分成两部分,具体看实例:
print os.path.split("abc/de.txt")
('abc', 'de.txt')
os.path.split("abc")
(", 'abc')
print os.path.split("de/abc/de")
('de/abc', 'de')
4: os.path.splitext(filename)
把文件名分成文件名称和扩展名
os.path.splitext(abc/abcd.txt)
('abc/abcd', '.txt')
5: os.path.dirname(path)
把目录名提出来
print os.path.dirname("abc")
#输出为空
print os.path.dirname('abc\def')
abc
6: os.path.basename(filename)
取得主文件名
print os.path.basename('abc')
abc
print os.path.basename('abc.txt')
abc
print os.path.basename('bcd/abc')
abc #这个需要注意不包括目录名称
print os.path.basename('.')
.
7:os.mkdir(path, [mode])
path为目录名: 这里有个要求,只能创建一级目录
比如path为 abc/def 则当前目录下必须存在abc 否则失败
8: os.makedirs(path [,mode])
可以创建多级目录
9:os.remove(path)删除一个文件,一定是一个文件
os.removedirs(path) 删除一个目录下所有东西
os.rmdir(path) 删除一个目录,而且一定要空,否则os.errer
10:os.walk(path)
遍历path,返回一个对象,他的每个部分都是一个三元组
('目录x',[目录x下的目录list],目录x下面的文件)
举例:
a = os.walk('.')
for i in a:
print i
11:shutil.copy(src,dst)
把文件src内容拷贝到文件dst中。,目标区域必须可以写,如果dst存在,则dst被覆盖
――――――――――――――――――
11.1 os.path -- 普通的路径名操作
这个模块实现一些在路径名称上有用的函数。
警告:在 Windows 上,这些函数中的多个不能正确地支持 UNC 路径名。splitunc() 和 ismount() 可以正确地处理它们。
abspath(path)
返回 path 路径名一个规格化的绝对化的版本。在大多数平台上,相当于normpath(join(os.getcwd(), path))。1.5.2版本中的新特性。
basename(path)
返回 path 路径名最底部的名称。这是由 split(path)返回的对的第二半部分。注意这个函数的结果不同于Unix basename 程序;UNIX的 basename对于'/foo/bar/' 返回 'bar',basename() 函数返回一个空字符串('')。
commonprefix(list)
返回最长的路径前缀(采取字符的字符),是 list中所有路径的一个前缀。如果 list 为空,返回空字符串('')。注意可以返回无效的路径因为它每次操作一个字符。
dirname(path)
返回 path 路径名的目录名称。这是由 split(path)返回的对的第一半部分。
exists(path)
如果 path 与一个已存在的路径关联返回True。对于损坏的符号连接返回 False 。在一些平台上,如果权限没有被授予在请求的文件上执行os.stat()这个函数可能返回False,即使该 path 实际上存在。
lexists(path)
如果 path 与一个已存在的路径关联返回 True 。对于损坏的连接返回 True 。在一些缺少 os.lstat()的平台上相当于 exists() 。2.4版本中的新特性。
expanduser(path)
在 Unix上,返回 "~"或"~user"做为替换用户的主目录的开始部分的参数。开始的"~" 通过环境变量 HOME(如果它被设置)替换; 否则当前用户的主目录在口令目录中通过内置模块 pwd被查询。开始的"~user" 直接地在口令目录中被查询。
在 Windows 上,仅支持 "~" ;它通过环境变量 HOME 或通过HOMEDRIVE 和 HOMEPATH的组合替换。
如果该扩充失败或如果该路径不以一个波浪号开始,被返回的路径无改变。
expandvars(path)
返回使用环境变量扩充的参数。"$name" 或 "${name}"格式的子串通过环境变量 name 的值被替换。残缺的变量名称和引用不存在的变量被无改变的遗弃。
getatime(path)
返回 path 的最后访问时间。返回的值是一个从新纪元开始的秒数(参见 time 模块)。如果文件不存在或不可访问挂起 os.error 。1.5.2版本中的新特性。2.3版本中的改变:如果 os.stat_float_times() 返回True,结果是一个浮点数。
getmtime(path)
返回 path 最后修改的时间。返回值是一个从新纪元开始的秒数(参见 time 模块)。如果文件不存在或不可访问挂起 os.error 。1.5.2版本中的新特性。2.3版本中的改变:如果 os.stat_float_times() 返回True,结果是一个浮点数。
getctime(path)
返回系统的 ctime ,在一些系统上 (像Unix) 是最后改变的时间,在其他一些系统上 (像Windows),是 path 创建的时间。返回值是一个从新纪元开始的秒数(参见 time 模块)。如果文件不存在或不可访问挂起 os.error 。2.3版本中的新特性。
getsize(path)
以字节为单位,返回 path 的大小。如果文件不存在或不可访问挂起 os.error 。1.5.2版本中的新特性。
isabs(path)
如果 path 是一个绝对路径名返回True (以一个斜杠开始)。
isfile(path)
如果 path 是一个已存在的普通文件返回True 。这效仿符号连接,因此 islink() 和 isfile() 对于相同的路径都可以返回 true 。
isdir(path)
如果 path 是一个已存在的目录返回 True 。这效仿符号链接,因此 islink() 和 isdir() 对于相同的路径都可以返回 true 。
islink(path)
如果 path 引用一个目录项,它是一个符号连接,返回True。如果不支持符号连接始终返回 False 。
ismount(path)
如果路径名 path是一个 挂载点 返回 True :在文件系统中的那个点一个不同的文件系统已经被挂载。这个函数检测是否 path的父路径, path/..,和 path 是一个不同的设备,或是否 path/.. 和 path 在相同的设备上指向相同的i-node -- 这应该是为所有的 Unix 和 POSIX 变种检测挂载点。
join(path1[, path2[, ...]])
智能化地连接一个或多个路径组件。如果任一组件是一个绝对路径,所有前面的组件被丢弃(在Windows 上,包括前面的驱动器名,如果有) ,并且继续连接。返回的值是 path1,和可选地 path2等的组合,正确地以一个目录分隔符 (os.sep)插入到两个组件之间,除非 path2 为空。注意在 Windows 上,因为每个驱动器有一个当前目录,os.path.join("c:", "foo")表示相对于驱动器 C: 上的当前目录的一个路径(c:foo),而不是 c:\\foo。
normcase(path)
标准化一个路径名的大小写。在Unix上,返回未改变的路径;在不区分大小写的文件系统上,它转换路径为小写字母。在Windows上 ,它也转换正斜杠为反斜杠。
normpath(path)
标准化一个路径名。折叠多余(或冗长的)分隔符并且定位于外层引用,以致于 A//B,A/./B 和 A/foo/../B 都变成 A/B。它不标准化大小写(标准化大小写用 normcase())。在Windows上,它转换正斜杠为反斜杠。如果它包含符号连接,它应该明白这可能改变路径的意图!
realpath(path)
返回指定的文件名标准的路径,除去在路径中遇到的任何符号连接(如果操作系统支持)。2.2版本中的新特性。
samefile(path1, path2)
如果路径名参数与相同的文件或目录关联返回 True (通过设备号和 i-node 数表示)。如果 os.stat() 调用每个路径名失败挂起一个异常。有效的:Macintosh,Unix。
sameopenfile(fp1, fp2)
如果文件描述符 fp1 和 fp2 与相同的文件关连返回 True 。有效的:Macintosh,Unix。
samestat(stat1, stat2)
如果 stat 元组 stat1和stat2 与相同的文件关连返回 True 。这个结构可能由fstat(),lstat(),或stat()返回。这个函数使用samefile() 和 sameopenfile()实现了基本的比较。有效的:Macintosh,Unix。
split(path)
分割路径名 path 到一个对中,(head, tail)中 tail 是最后的路径名组件head 是引导它的任何事物。tail 部分将一直都不包括斜线;如果 path 以一个斜线结尾,tail 将为空。如果 path 中没有斜线,head 将为空。如果 path 为空,head 和 tail 都为空。尾随斜线从 head 中被去除,除非它是根(one or more slashes only)。在几乎所有的情况中,join(head, tail) 相当于 path (只有一个例外是当从 tail 中 head 被多个斜线分割时)。
splitdrive(path)
分割路径名 path 到一个(drive, tail) 对中,drive 是每个驱动器的说明或空字符串。在系统上不使用驱动器说明的,drive 将一直是空字符。在所有情况中,drive + tail 将和 path 相同。1.3版本中的新特性。
splitext(path)
分割路径名 path 到一对 (root, ext) 中以致 root + ext == path,并且ext 为空或以一个句点开始并且只多包含一个句点。
splitunc(path)
分割路径名 path 到一个对(unc, rest)中以便于 unc 是 UNC 挂载点 (诸如 r'\\host\mount'),如果,并且 rest 路径的其余部分(诸如 r'\path\file.ext')。对于路径包含驱动器名,unc 将一直是空字符。有效的:Windows。
walk(path, visit, arg)
对于以 path 为根的目录树中的每一个目录 (包含 path 自身,如果它是一个目录),以参数 (arg, dirname, names)调用函数 visit 。参数 dirname 指定访问的目录,参数 names 列出在目录中的文件(从 os.listdir(dirname)中得到)。visit 函数可以修改 names 改变 dirname 下面访问的目录的设置,例如,避免访问树的某一部分。(由 names 关连的对象必须在合适的位置被修改,使用 del 或 slice 指派。)
注意:符号连接到目录不被作为一个子目录处理,并且因此 walk()将不访问它们。访问连接的目录你必须以os.path.islink(file) 和 os.path.isdir(file)标识它们,并且必须调用walk() 。
详细出处参考:http://www.jb51.net/article/21007.htm

 

分享到:
评论

相关推荐

    文件目录结构转文本网页(把文件列表转成html格式) V4.0绿色版

    《文件目录结构转文本网页:技术解析与应用》 在现代数字生活中,管理和呈现大量文件目录结构变得日益重要。为了方便浏览和分享这些信息,将文件目录结构转化为文本网页,尤其是HTML格式,成为了一种高效的方式。...

    图片目录批量转PDF

    总的来说,"图片目录批量转PDF"是一个结合了文件操作、图像处理和PDF生成技术的任务。通过使用合适的库和工具,我们可以编写一个自动化脚本来高效地完成这项工作。无论是个人使用还是在项目中,这样的功能都能大大...

    目录清单工具,将目录清单转成Excel的工具

    描述中提到的“将目录清单转成Excel的工具”进一步明确了该工具的核心功能。它允许用户选定一个特定的文件夹或目录,通过简单的操作,如点击“导出到Excel”,就能将这个目录下的所有文件和子目录结构转化为Excel...

    word转html带目录结构的实现方式.docx

    【Word转HTML带目录结构的实现方式】 在IT领域,特别是在文档处理方面,有时需要将Microsoft Word文档转换成HTML格式,以便在网页上展示或进行在线阅读。在转换过程中,保持原有的目录结构对于用户导航非常关键。本...

    文件目录结构转文本网页

    Windows操作系统自带的`tree`命令能够以文本形式展示文件夹的层级结构,但它的功能相对有限。为了增强这一功能并提供更便于阅读和分享的方式,我们可以将文件目录结构转换为文本网页(HTML格式)。这种转换不仅保留...

    文件目录生成html 把WORD转HTML

    标题"文件目录生成html 把WORD转HTML"指的是创建一个HTML页面,这个页面不仅包含Word文档的内容,而且能够反映出Word文档的目录结构。描述中提到的情况是作者在制作电子书时,为了避免手动创建目录的繁琐工作,编写...

    Linux文件和目录操作命令

    ### Linux文件和目录操作命令详解 #### 一、概述 Linux作为一款强大的开源操作系统,广泛应用于服务器、桌面以及嵌入式设备等领域。对于初学者来说,掌握基本的文件和目录操作命令至关重要。本文将深入介绍Linux...

    delphi 文件目录操作函数

    以下是一些关键的Delphi文件目录操作函数的详细说明: 1. **FileOpen()**: 这个函数用于打开一个已经存在的文件,参数`FileName`是文件的路径,`Mode`是一个LongWord类型,用来指定打开文件的模式,例如`fmOpenRead...

    PHP常用技术文之文件操作和目录操作总结

    目录操作通常包括对目录的遍历、创建、删除、复制、移动和大小统计等。常见的目录操作包括: 1. 遍历目录:通过`findDir($dirName)`函数可以遍历一个指定目录下的所有文件和子目录,同时统计子文件个数。遍历过程...

    word2010生成目录_将word转换成PDF.doc

    "Word 2010 自动生成目录和将Word转换成PDF" 概述: Microsoft Word 2010 是一种功能强大的文字处理软件,它提供了许多实用的功能,包括自动生成目录和将 ...用户可以根据自己的需求选择适合的方法来完成这些操作。

    目录下图片转PDF

    2. **批量处理**:根据描述,该工具支持对目录下的所有图片进行批量转换,这意味着用户无需逐个操作,极大地提高了工作效率。 3. **PDF命名规则**:转换后的PDF文件名通常基于源文件夹的名称,这样便于用户识别和...

    JAVA文件编码转换和实现目录与文件打开

    - **目录操作实现**: `up` 按钮的点击事件可以实现返回上一级目录的功能,通常需要更新`currentDir`并重新加载列表。`close`按钮则关闭窗口。完整的实现还需要包括读取目录内容、根据`filter`筛选文件、更新列表...

    Word转PDF时自动生成书签(目录)

    "Word转PDF时自动生成书签(目录)"这个话题涉及到的是如何在进行转换时,确保PDF文件能够保留Word文档中的章节结构,并自动生成方便阅读的书签(目录)。这通常对于长篇文档或技术手册来说非常重要,因为它提供了对...

    易游英文目录转

    标题“易游英文目录转”指的是一个针对易游(EYOUGAME)服务器端的工具或过程,其目的是将原本以英文命名的目录结构转换成中文。易游是一款知名的在线游戏平台,它可能包含了众多游戏的服务器端数据,这些数据通常以...

    基于python的 将中文目录名称转换为拼音目录

    例如在D盘下有一个video目录,然后再这个目录下有超过上百个中文目录名的目录,我们需要转换这些中文目录名称而不能操作到这些中文目录下面的视频文件,我们就可以输入路径为D:\video\ 就可以自动转换了

    Android读取Assert资源目录下数据库,数据库操作

    本文将详细介绍如何在Android中从`assets`目录读取数据库,并进行相关操作。 首先,理解`assets`目录的作用。`assets`是Android应用中的一个特殊目录,用于存放原始的、未处理的文件,如文本文件、数据库文件、音频...

    Delphi目录批量简繁转换.rar

    7. GBToBig5.exe:最终的可执行文件,用户可以直接运行此文件进行目录的简繁转换操作。 8. Unit1.pas:源代码文件,包含了Unit1.dcu的源代码,是程序的主要逻辑实现部分。 9. GBToBig5.res:资源文件,可能包含了...

    转专业操作手册-1.docx

    转专业操作手册-1.docx 本手册旨在指导转专业操作的各个方面,涵盖了转专业批次管理、转专业参数设置等多个方面的知识点。 目录 * 前言 * 组件和应用版本 * 转专业批次管理 * 转专业参数设置 前言 本手册的目的...

    FreePic2Pdf图片转PDF最好用(可制作目录,已附带目录模板txt,可自行修改为自己的目录导入)

    FreePic2Pdf是一款高效...总结来说,FreePic2Pdf是一个功能强大且易用的图片转PDF工具,其目录制作和书签支持使得生成的PDF文档更加专业和易读。通过熟练掌握其各项功能,用户可以在处理图片和PDF转换时大幅提升效率。

    mac下txt转mobi带目录的

    在Mac操作系统中,将TXT格式的电子书转换成支持目录结构的Mobi格式,是许多Kindle用户的需求。Mobi格式是Amazon Kindle设备和应用程序所广泛接受的一种文件格式,它支持书籍的章节、目录和元数据。这个过程涉及到...

Global site tag (gtag.js) - Google Analytics