python 文件和路径操作函数小结

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() 。

时间: 2024-10-11 16:57:52

python 文件和路径操作函数小结的相关文章

python文件和目录操作函数小结

本文主要介绍python文件和目录操作函数小结,主要涉及到os模块和shutil模块的一些方法. python中对文件.文件夹(文件操作函数)的操作需要涉及到os模块和shutil模块. 得到当前工作目录,即当前Python脚本工作的目录路径: os.getcwd()返回指定目录下的所有文件和目录名:os.listdir()函数用来删除一个文件:os.remove()删除多个目录:os.removedirs(r"c:\python")检验给出的路径是否是一个文件:os.path.isf

python文件和目录操作函数总结

有关python文件和目录操作函数小结,主要涉及到os模块和shutil模块的一些方法. python中对文件.文件夹(文件操作函数)的操作需要涉及到os模块和shutil模块. 得到当前工作目录,即当前Python脚本工作的目录路径: os.getcwd()返回指定目录下的所有文件和目录名:os.listdir()函数用来删除一个文件:os.remove()删除多个目录:os.removedirs(r“c:\python”)检验给出的路径是否是一个文件:os.path.isfile()检验给出

python文件及路径管理函数

glob模块 说明: 1.glob是python自己带的一个文件操作相关模块,用它可以查找符合自己目的的文件,就类似于Windows下的文件搜索, 支持通配符操作 *.?.[] 这三个通配符,*代表0个或多个字符,?代表一个字符,[]匹配指定范围内的字符,如[0-9]匹配数字. glob.glob("字符串+通配符") 该方法返回指定路径所有匹配的文件的列表,该方法需要一个参数用来指定匹配的路径字符串(本字符串可以为绝对路径也可以为相对路径),其返回的文件名只包括当前目录里的文件名,不

Python文件和目录操作实例代码

对于文件和目录的处理,虽然可以通过操作系统命令来完成,但是Python语言为了便于开发人员以编程的方式处理相关工作,提供了许多处理文件和目录的内置函数.重要的是,这些函数无论是在Unix.Windows还是Macintosh平台上,它们的使用方式是完全一致的. 本文将详细解释这些函数的使用方法.首先,介绍Python语言中类似于Windows系统的dir命令的列出文件功能,然后描述如何测试一个文件名对应的是一个标准文件.目录还是链接,以及提取文件大小和日期的方法.之后,还将介绍如何删除文件和目录

Python 文件和目录操作总结

Python文件和目录操作总结: 1. Python 中os模块基本命令 头文件 import os # 提供对操作系统进行调用的接口 os常用指令 1 os.getcwd() # 获取当前工作目录,即当前python脚本工作的目录路径 === linux: pwd 2 os.chdir("dirname") # 改变当前脚本工作目录:相当于shell下cd 3 os.curdir # 返回当前目录: ('.') 4 os.pardir # 获取当前目录的父目录字符串名:('..')

VC 获取指定文件夹路径的方法小结

VC获取指定文件夹路径 flyfish  2010-3-5 一 使用Shell函数 1 获取应用程序的安装路径 TCHAR buf[_MAX_PATH];SHGetSpecialFolderPath(NULL,buf,CSIDL_PROGRAM_FILES,NULL);AfxMessageBox(buf); 2 获取应用程序数据路径的文件夹 TCHAR bufApplicateData[_MAX_PATH];SHGetSpecialFolderPath(NULL,bufApplicateData

自定义的常用文件与目录操作函数库

自定义的常用文件与目录操作函数库,在win和linux平台做了跨平台的处理.(跨平台的处理可以作为参考比较.在win下目录的符号可以是\或者/,但是在linux下只能是/.) 下面给出的是源文件,实现接口函数的代码.每个接口函数都有很详细的功能说明. /* 判断文件或目录是否存在 * 在操作系统中,目录也是一个文件,如果要判断一个目录是否存在则应当使用DirectoryExists, * 要判断一个文件是否存在且是一个归档文件则应当使用IsArchive. * @如果文件或目录存在则返回true

python文件及目录操作

python文件及目录操作 读/写文件 新建/打开文件 写入 #举个例子,打开D:\test\data.txt #以写入模式打开文件 #如果test(上级目录)不存在则报错 #如果data.txt(文件)不存在则创建 fd = open('filename','w') #如果文件里面已经有内容,那么内容会被清空 fd.write('stirng') fd.close() 打开文件 读入 #举个例子,打开D:\test\data.txt #以读入模式打开文件 #如果test(上级目录)不存在则报错

.net持续集成cake篇之常见文件及路径操作

系列目录 Cake常见文件和路径操作 在自动化构建任务里,很多操作都是跟文件打交道,比如文件打包,文件压缩,文件归档,文件传输,目录清理等.本节介绍一些cake里常见的文件操作方法 Cake相对路径问题 做过自动化的同学可能都知道,使用相对路径时,脚本在测试时的相对路径往往和正式环境中不一样,宿主环境的路径往往最终导致明明测试好的脚本最终却出现各种路径问题.但是如果把路径写成绝对路径往往又造成脚本通用性不强,每迁移到一个新项目就需要重新修改脚本文件,对脚本的修改往往意味着导致脚本出错的风险.而C