阐述Python语言中的各种模块

开发 后端
对于进行文件处理时虽然可以通过操作系统命令来完成,但Python语言为了便于开发人员以编程的方式处理相关工作。

Python语言里的脚本语言中最丰富和强大的类库,足以支持绝大多数日常应用,在实际的程序开发过程中,Python语言常被称为拼装语言,这么说的原因是因为他能够很轻松的把用其他语言制作的各种模块。

本文将详细解释这些函数的使用方法。首先,我们介绍Python语言中类似于Windows系统的dir命令的列出文件功能。然后描述如何测试一个文件名对应的是一个标准文件、目录还是链接。

以及提取文件大小和日期的方法。之后,我们还将介绍如何删除文件和目录。如何复制和删除文件,以及怎样将一个完整的文件路径分解成目录部分和文件名部分,最后,我们讲解目录的创建,以及如何在目录树中移动目录并处理文件。

一、显示目录内容
当我们想要列出当前目录中所有扩展名为.jpg或.gif的文件的时候,就可以使用glob模块来完成此项任务,如下所示:

  1. import glob  
  2.   filelist = glob 

上述代码使用了glob函数,该函数的参数为要显示的文件类型。在这里,文件类型是通过类似UNIX操作系统shell风格通配符描述的一些文件名来指定的。这些通配符的使用方法,具体请参考fnmatch模块的文档,那里有具体的说明和示例。为了显示一个目录中的全部文件,可以使用如下所示的os.listdir函数:

  1. files = os.listdir(r’C:\hpl\scripting\src\py\intro’) #适用于 Windows  
  2.   files = os.listdir(’/home/hpl/scripting/src/py/intro’) # 适用于Unix  
  3.   # 跨平台版本:  
  4.   files = os.listdir(os.path.join(os.environ[’scripting’],  
  5.   ’src’, ’py’, ’intro’))  
  6.   files = os.listdir(os.curdir) # 当前目录中的所有文件  
  7.   files = glob.glob(’*’) + glob.  

二、测试文件类型
我们知道,文件名、目录名和链接名都是用一个字符串作为其标识符的,但是给我们一个标识符,我们该如何确定它所指的到底是常规文件文件名、目录名还是链接名呢?这时,我们可以使用os.path模块提供的isfile函数、isdir函数和islink函数来达成我们的目标,如下所示:

  1. print myfile, ’是一个’,  
  2.   if os.path.isfile(myfile):  
  3.   print ’plain file’  
  4.   if os.path.isdir(myfile):  
  5.   print ’directory’  
  6.   if os.path.islink(myfile):  
  7.   print ’link’  
  8.   您还可以查找文件的日期及其大小:  
  9.   time_of_last_access = os.path.getatime(myfile)  
  10.   time_of_last_modification = os.path.getmtime(myfile)  
  11.   size = os.path.getsize(myfile)  

三、文件和目录的删除
若要删除单个文件的话,可以使用os.remove函数,例如:os.remove(’mydata.dat’)。Os.remove的别名是os.unlink。不过后者跟传统的UNIX操作系统以及Perl中清除文件的函数重名。我们可以使用下列方式来删除一组文件,如所有以.jpg以及*.gif为扩展名的文件:

  1. import stat  
  2.   myfile_stat = os.stat(myfile)  
  3.   size = myfile_stat[stat.ST_SIZE]  
  4.   mode = myfile_stat[stat.ST_MODE]  
  5.   if stat.S_ISREG(mode):  
  6.   print ’%(myfile)是一个常规文件,大小为 %(size)d 字节’ %\  
  7.   vars()  

大家知道,只有当Python目录中内容已经被清空的时候,我们才可以使用rmdir命令来删除该目录。不过,我们经常想要删除一个含有许多文件的目录树,这时我们可以使用shutil模块提供的rmtree函数,如下所示:

  1. if isinstance(files, str): # files是个字符串吗?  
  2.   files = [files] # 把files从字符串转为列表  
  3.   if not isinstance(files, list): # files不是列表吗?  
  4.     
  5.   for file in files:  
  6.   if os.path.isdir(file):  
  7.   shutil.rmtree(file)  
  8.   elif os.path.isfile(file):  
  9.   os.remove(file)  

Copytree的第三个参数规定对符号链接的处理,其中True表示保留符号链接;而False则意味着使用文件的物理副本替代符号链接。Python语言能够很好地支持路径名的跨平台组成。

Os.path.join能使用正确的分界符(在UNIX和Mac OS X操作系统中使用/,在 Windows 上使用\)来联接目录和文件名,变量os.curdir和os.pardir分别表示当前工作目录及其父目录。 像下面的UNIX操作系统命令

【编辑推荐】

  1. 有关Python系统文件进行介绍指导
  2. 如何正确的使用Python函数
  3. 对Python 构建工具进行详细介绍分析
  4. PythonAndroid浅析Python优势所在
  5. 如何使用Python模块解析配置文件?
责任编辑:chenqingxiang 来源: CSDN
相关推荐

2010-06-11 09:20:52

UML语言

2010-01-11 15:55:51

C++语言

2010-06-11 09:03:03

UML语言

2009-12-17 09:56:26

Linux添加驱动模块

2010-07-19 09:16:47

Perl包

2015-11-12 16:21:38

Python计数方法

2010-03-26 17:34:29

Python历史

2010-03-11 19:16:32

Python语言

2010-02-24 14:27:25

Python模块语言

2010-01-13 11:27:06

C++安全性

2010-01-13 15:51:44

C++编程语言

2024-04-07 11:33:02

Go逃逸分析

2021-07-15 23:18:48

Go语言并发

2023-12-21 07:09:32

Go语言任务

2009-07-08 12:43:59

Scala ServlScala语言

2010-03-12 19:17:43

Python程序

2010-02-03 17:37:30

Python语法

2015-07-20 11:32:07

编程语言

2022-01-06 14:25:24

C语言指针内存

2021-06-07 23:19:44

Golang语言 Defer
点赞
收藏

51CTO技术栈公众号