python中的文件路径_Python中关于文件路径的简单操作 [转]

功能相当于在path目录下执行dir命令,返回为list类型

举例:

print os.listdir('..')

输出:

[a,b,c,d]

2: os.path.walk(path,visit,arg)

path  :是将要遍历的目录

visit :是一个函数指针,函数圆形为:

callback(arg,dir,fileList)

其中arg为为传给walk的arg , dir是path下的一个目录,fileList为dir下的文件和目录组成的list

arg:传给visit用的,对walk没有什么作用

举例:

def callback(arg,directory, files):

print directory,

print files,

print arg

print '--------------------'

os.path.walk('.',callback, '123456')

输出:

. ['path0704.py', 'temp', '\xc2\xb7\xbe\xb6\xcf\xe0\xb9\xd8\xd1\xa7\xcf\xb0.txt'] 123456

--------------------

.\temp ['temp.h', 'temp1'] 123456

--------------------

.\temp\temp1 ['abc.bmp'] 123456

如果想找到某个目录下所有文件,只需要在callback里面,在fileList中找出文件,即可

除此之外,还有一个函数可以用那就是os.walk,看10

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

输出:

('.', ['abc', 'temp'], ['path0704.py', '\xc2\xb7\xbe\xb6\xcf\xe0\xb9\xd8\xd1\xa7\xcf\xb0.txt'])

('.\\abc', [], ['\xd0\xc2\xbd\xa8 BMP \xcd\xbc\xcf\xf1.bmp'])

('.\\temp', ['temp1'], ['temp.h'])

('.\\temp\\temp1', [], ['abc.bmp'])

11:shutil.copy(src,dst)

把文件src内容拷贝到文件dst中。,目标区域必须可以写,如果dst存在,则dst被覆盖

上面的函数基本够用

其它文件移动操作还请看:shutil模块:High-level file operations

原文来自:

http://blog.csdn.net/wingSys/archive/2006/07/07/889608.aspx

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值