如何进行设计Python语言技巧说明

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

下面文章进行详细说明下什么是Python语言,Python语言是一种面向对象、直译式计算机程序设计语言,也是一种功能强大而完善的通用型语言,对于那些从来没有学习过编程或者并非计算机专业的编程学习者而言。

提供了许多处理文件和目录的内置函数。重要的是,这些函数无论是在Unix、Windows还是Macintosh平台上,它们的使用方式是完全一致的。本文将详细解释这些函数的使用方法。首先,我们介绍Python语言中类似于Windows系统的dir命令的列出文件功能。

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

Copytree的第三个参数规定对符号链接的处理,其中True表示保留符号链接;而False则意味着使用文件的物理副本替代符号链接。Python语言能够很好地支持路径名的跨平台组成:Os.path.join能使用正确的分界符(在UNIX和Mac OS X操作系统中使用/。

在 Windows 上使用\)来联接目录和文件名,变量os.curdir和os.pardir分别表示当前工作目录及其父目录。 像下面的UNIX操作系统命令。将遍历root目录树;然后,对每个目录名dirname分别调用myfunc(arg, dirname, files)即可,这里参数files是dir中的文件名列表(可通过调用os.listdir(dirname)来获得);

arg是用户从调用代码中传递来的参数。对于UNIX操作系统用户来说,Python语言中跨平台os.path.walk相当于Unix命令find。现在,我们使用arg来建立一个数据结构,这里是一个2元组构成的列表,其中每个2元组存放文件的尺寸(以MB为单位)和完整的文件路径。

如果用于所有目录的函数调用中都要更改arg的话,那么arg必须是一个可变的数据结构,即允许适当地进行修改。参数dirname是当前正在访问的目录的绝对路径,而参数files内的文件名则是相对于dirname的相对路径。

在此期间,当前工作目录并没有改变,那就是说该脚本仍然呆在脚本启动时刻所在的目录中。这就是为什么我们需要把filepath弄成带有dirname和file的绝对路径的原因。若要改变当前工作目录为dirname,只要在针对每个目录调用os.path.walk的函数中调用一下os.chdir(dirname)。

注意为列表排序的函数,bigfiles[’filelist’]函数中的每个元素就是一个字典,键size保存着一个字符串,不过在进行比较之前我们必须将单位Mb(最后两个字符)去掉,并将其转换为浮点数。

对于文件和目录的处理,虽然可以通过操作系统命令来完成,但是Python语言为了便于开发人员以编程的方式处理相关工作。提供了许多处理文件和目录的内置函数。重要的是,这些函数无论是在Unix、Windows还是Macintosh平台上,它们的使用方式是完全一致的。

本文详细解释了这些函数的使用方法,其中,我们首先介绍了显示目录内容的功能,然后描述如何测试一个文件名对应的是一个标准文件、目录还是链接,以及提取文件大小和日期的方法。

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

【编辑推荐】

  1. 漫谈Python 源代码编制技巧
  2. 简单易于操作的Python 工具详解
  3. 有关Python应用领域进行说明介绍
  4. PythonAndroid面向对象的编程——Python应用程序
  5. 如何使用Python模块解析配置文件 ?
责任编辑:chenqingxiang 来源: 51CTO
相关推荐

2010-03-11 17:38:20

Python中文

2010-03-15 15:45:15

Python编程语言

2013-01-28 10:11:24

敏捷设计敏捷开发

2010-03-11 17:24:27

Python编程语言

2010-01-13 16:44:03

C++

2010-02-03 13:55:51

Python 代码

2010-02-22 16:05:40

Python配置

2010-02-01 10:21:36

Python编码转换

2010-02-23 17:35:46

Python

2010-02-01 18:20:17

Python 多重继承

2010-02-02 16:47:12

Python主线程

2010-03-15 15:11:50

Python列表

2010-02-01 14:48:43

2010-02-01 17:33:24

Python主线程

2010-03-01 18:07:53

Python语言

2009-12-29 13:57:30

访问ADO.NET

2010-08-03 14:52:49

Flex界面设计

2011-05-25 00:00:00

数据库设计

2022-10-10 09:11:12

互联网存储系统云计算

2010-02-01 16:22:36

Python字符串操作
点赞
收藏

51CTO技术栈公众号