Python文件路径具体操作方法经典讲解

开发 后端
我们今天将会在这篇文章中为大家详细介绍一下有关Python文件路径的相关操作方法,希望可以给大家带来一些帮助。

Python编程语言在实际使用中可以帮助我们轻松的实现一些特殊的功能需求。在这里我们将会为大家详细介绍一下有关Python文件路径的相关操作技巧,从而方便我们在实际开发中获得一些帮助。

Python文件路径操作方法之1: os.listdir(path) //path为目录

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

  1. print os.listdir(’..’) 

输出:

  1. [a,b,c,d] 

 

Python文件路径操作方法之2: os.path.walk(path,visit,arg)

path :是将要遍历的目录

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

  1. callback(arg,dir,fileList) 

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

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

举例:

  1. def callback(arg,directory, files):  
  2. print directory,  
  3. print files,  
  4. print arg  
  5. print ‘——————–’  
  6. os.path.walk(’.',callback, ‘123456′) 

 

输出:

  1. . ['path0704.py', 'temp', '\xc2\xb7\xbe\xb6\xcf\xe0\xb9\
    xd8\xd1\xa7\xcf\xb0.txt'] 123456  
  2. ——————–  
  3. .\temp ['temp.h', 'temp1'] 123456  
  4. ——————–  
  5. .\temp\temp1 ['abc.bmp'] 123456 

 

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

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

Python文件路径操作方法之3:os.path.split(path)

path 为一个路径,输出,把path分成两部分,具体看实例:

  1. print os.path.split(”abc/de.txt”)  
  2. (’abc’, ‘de.txt’)  
  3. os.path.split(”abc”)  
  4. (”, ‘abc’)  
  5. print os.path.split(”de/abc/de”)  
  6. (’de/abc’, ‘de’) 

 

Python文件路径操作方法之4: os.path.splitext(filename)

把文件名分成文件名称和扩展名

  1. os.path.splitext(abc/abcd.txt)  
  2. (’abc/abcd’, ‘.txt’) 

 

Python文件路径操作方法之5: os.path.dirname(path)

把目录名提出来

  1. print os.path.dirname(”abc”)  
  2. #输出为空  
  3. print os.path.dirname(’abc\def’)  
  4. abc 

 

Python文件路径操作方法之6: os.path.basename(filename)

取得主文件名

  1. print os.path.basename(’abc’)  
  2. abc  
  3. print os.path.basename(’abc.txt’)  
  4. abc  
  5. print os.path.basename(’bcd/abc’)  
  6. abc #这个需要注意不包括目录名称  
  7. print os.path.basename(’.') 

Python文件路径操作方法之7:os.mkdir(path, [mode])#t#

path为目录名: 这里有个要求,只能创建一级目录。比如path为 abc/def 则当前目录下必须存在abc 否则失败

Python文件路径操作方法之8: os.makedirs(path [,mode])

可以创建多级目录

Python文件路径操作方法之9:os.remove(path)

删除一个文件,一定是一个文件

  1. os.removedirs(path) 删除一个目录下所有东西  
  2. os.rmdir(path) 删除一个目录,而且一定要空,否则os.errer 

Python文件路径操作方法之10:os.walk(path)

遍历path,返回一个对象,他的每个部分都是一个三元组(’目录x’,[目录x下的目录list],目录x下面的文件)

举例:

  1. a = os.walk(’.')  
  2. for i in a:  
  3. print i 

输出:

  1. (’.', ['abc', 'temp'], ['path0704.py', '\xc2\xb7\xbe\xb6\xcf\
    xe0\xb9\xd8\xd1\xa7\xcf\xb0.txt'])  
  2. (’.\\abc’, [], ['\xd0\xc2\xbd\xa8 BMP \xcd\xbc\xcf\xf1.bmp'])  
  3. (’.\\temp’, ['temp1'], ['temp.h'])  
  4. (’.\\temp\\temp1′, [], ['abc.bmp']) 

 

Python文件路径操作方法之11:shutil.copy(src,dst)

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

上面的Python文件路径的函数基本够用

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

责任编辑:曹凯 来源: 博客园
相关推荐

2010-02-02 17:13:35

C++ Endian

2010-01-07 15:37:35

VB.NET ForNext循环

2009-12-30 16:48:52

Silverlight

2010-03-05 17:06:26

Python显示UTF

2010-04-02 08:42:32

Oracle 游标

2010-02-03 13:26:53

C++计时

2010-01-27 18:00:57

Android开机自启

2010-04-13 17:00:27

Oracle NLS_

2010-01-28 16:14:33

Android安装卸载

2010-02-02 13:57:31

C++解析#pragm

2010-03-19 14:19:58

Python正则表达式

2010-02-02 16:23:46

C++实现WPF动画

2011-03-17 09:06:58

iptables映射端口

2010-03-17 13:33:04

Python Libr

2009-12-30 15:47:40

Silverlight

2009-12-31 15:36:13

SilverLight

2010-08-02 12:34:09

ADSL代理设置

2010-01-15 15:51:43

VB.NET类添加方法

2009-12-31 15:36:13

SilverLight

2010-08-02 17:20:12

nfs启动Linux
点赞
收藏

51CTO技术栈公众号