python 文件处理 -- 03 文件处理模块

1.os模块

1.1作用

文件目录管理、进程管理

http://www.cnblogs.com/now-fighting/p/3531464.html

1.2常用

os.name--判断现在正在使用的平台。Windows--nt; Linux--posix

os.getcwd()--得到当前工作的目录。

os.listdir(path)--指定所有目录下所有的文件和目录名,返回list。

os.remove(path)--删除指定文件

os.mkdir(path [, mode=0777])--创建目录

os.makedirs(path [, mode=0777])--递归创建目录

os.path.isfile(path)--判断指定对象是否为文件。是返回True,否则False

os.path.isdir(path)--判断指定对象是否为目录。是True,否则False。

os.path.exists(path)--检验指定的对象是否存在。是True,否则False.

os.path.split(path)--返回路径的目录和文件名,元组。例:

 1 import os
 2
 3 import sys
 4
 5
 6
 7 if __name__ == "__main__":
 8
 9     print os.path.realpath(sys.argv[0])
10
11     print os.path.split(os.path.realpath(sys.argv[0]))
12
13     print os.path.split(os.path.realpath(sys.argv[0]))[0]
14
15
16
17 ***执行结果
18
19 /home/jihite/ftp/del.py
20
21 (‘/home/jihite/ftp‘, ‘del.py‘)
22
23 /home/jihite/ftp 
24
25
26
27 os.system(command)——执行shell命令。例:
28
29 >>> os.system("echo ‘hello world!‘")
30
31 ‘hello world!‘
32
33 0
34
35 注意:此处运行shell命令时,如果要调用python之前的变量,可以用如下方式:
36
37 var=123
38
39 os.environ[‘var‘]=str(var) //注意此处[]内得是 “字符串”
40
41 os.system(‘echo $var‘)

os.path.spilt使用举例

os.chdir(path)--改变目录到指定目录

os.path.getsize(filename)--获得文件的大小,如果为目录,返回0

os.path.join(path, name)--连接目录和文件(目录)名。

os.walk(path)--递归遍历某文件夹(包括子文件夹)

walk(top, topdown=True, onerror=None, followlinks=False)

 1 >>> os.getcwd()
 2
 3 ‘E:\\yc_study\\python\\study_imooc\\file_handle‘
 4
 5 >>> for dir_path,dir_name,file_names in os.walk(os.getcwd()):
 6
 7 ...         print ‘*****dir_path\n‘
 8
 9 ...         print dir_path
10
11 ...         print ‘*****dir_name\n‘
12
13 ...         print dir_name
14
15 ...         print ‘*****file_name\n‘
16
17 ...         print file_names
18
19 ...
20
21 *****dir_path
22
23
24
25 E:\yc_study\python\study_imooc\file_handle
26
27 *****dir_name
28
29
30
31 [‘1‘]
32
33 *****file_name
34
35
36
37 [‘1.txt‘, ‘argv.py‘, ‘create_utf_8.txt‘, ‘helloworld.py‘, ‘unicode_test.txt‘]
38
39 *****dir_path
40
41
42
43 E:\yc_study\python\study_imooc\file_handle\1
44
45 *****dir_name
46
47
48
49 [‘2‘]
50
51 *****file_name
52
53
54
55 []
56
57 *****dir_path
58
59
60
61 E:\yc_study\python\study_imooc\file_handle\1\2
62
63 *****dir_name
64
65
66
67 [‘3‘]
68
69 *****file_name
70
71
72
73 []
74
75 *****dir_path
76
77
78
79 E:\yc_study\python\study_imooc\file_handle\1\2\3
80
81 *****dir_name
82
83
84
85 []
86
87 *****file_name
88
89
90
91 []
92
93  

os.walk使用举例

2.shutil模块

2.1作用

移动、复制、打包、压缩、解压

http://blog.csdn.net/xmnathan/article/details/36217631

2.2常用命令

shutil.rmtree("dir")--删除目录。空目录、有内容的目录都可以删

copyfile(src, dst)  # 拷贝文件

复制文件内容(不包含元数据)从src到dst。

DST必须是完整的目标文件名。

如果src和dst是同一文件,就会引发错误shutil.Error。

dst必须是可写的,否则将引发异常IOError。

如果dst已经存在,它会被替换。

特殊文件,例如字符或块设备和管道不能使用此功能,因为copyfile会打开并阅读文件。

src和dst的是字符串形式的路径名。

copyfile()调用了底函数层copyfileobj()。

shutil.copyfile(‘shutil_copyfile.py‘, ‘shutil_copyfile.py.copy‘)

copyfileobj(fsrc, fdst, length=16384)  # 将文件内容拷贝到另一个文件

需要引入StringIO模块才能使用

复制文件内容(不包含元数据)从类文件对象src到类文件对dst。

可选参数length指定缓冲区的大小,负数表示一次性读入。

默认会把数据切分成小块拷贝,以免占用太多内存。

注意:拷贝是从fsrc的当前文件开始。

copy(src, dst)

复制文件src到文件或目录dst。

权限位也会复制。

如果dst是目录,使用src相同的文件名创建(或覆盖)。

src和dst的是字符串形式的路径名。

os.mkdir(‘example‘)

print ‘BEFORE:‘, os.listdir(‘example‘)

shutil.copy(‘shutil_copy.py‘, ‘example‘)

copy2(src, dst)

类似shutil.copy,元数据也复制。

实际上先调用shutil.copy,然后使用copystat。

shutil.copy2(‘shutil_copy2.py‘, ‘example‘)

copytree(src, dst, symlinks=False, ignore=None)  # 递归复制

Recursively copy a directory tree using copy2().

3.glob模块

可以查找符合自己目的的文件,类似于Windows下的文件搜索,而且也支持通配符,*,?,[]这三个通配符,*代表0个或多个字符,?代表一个字符,[]匹配指定范围内的字符,如[0-9]匹配数字。

3.1glob.glob(path)

Return a list of paths matching a pathname pattern.

3.2glob.igblob()

Return an iterator which yields the paths matching a pathname pattern.

 1 >>> import os
 2
 3 >>> os.chdir(r‘E:\yc_study\python\study_imooc\file_handle‘)
 4
 5 >>> os.getcwd()
 6
 7 ‘E:\\yc_study\\python\\study_imooc\\file_handle‘
 8
 9 >>> import glob
10
11 >>> os.listdir(os.getcwd())
12
13 [‘1‘, ‘1.txt‘, ‘argv.py‘, ‘create_utf_8.txt‘, ‘helloworld.py‘, ‘unicode_test.txt‘]
14
15 >>> glob.glob(r‘%s\*.py‘ % os.getcwd())
16
17 [‘E:\\yc_study\\python\\study_imooc\\file_handle\\argv.py‘, ‘E:\\yc_study\\python\\study_imooc\\file_handle\\helloworld.py‘]
18
19 >>> glob.glob(r‘%s\*.txt‘ % os.getcwd())
20
21 [‘E:\\yc_study\\python\\study_imooc\\file_handle\\1.txt‘, ‘E:\\yc_study\\python\\study_imooc\\file_handle\\create_utf_8.txt‘, ‘E:\\yc_study\\python\\study_imooc\\file_handle\\unicode_test.txt‘]

glob.glob使用举例

 1 >>> glob.iglob(r‘%s\*.txt‘ % os.getcwd())
 2
 3 <generator object iglob at 0x000000000256AF78>
 4
 5 >>> for i in glob.iglob(r‘%s\*.txt‘ % os.getcwd()):
 6
 7 ...         print i
 8
 9 ...
10
11 E:\yc_study\python\study_imooc\file_handle\1.txt
12
13 E:\yc_study\python\study_imooc\file_handle\create_utf_8.txt
14
15 E:\yc_study\python\study_imooc\file_handle\unicode_test.txt

glob.iglob使用举例

4.python处理各类文件

4.1ConfigParse模块读取配置文件(.ini)

基本使用&Unicode编码问题

http://www.cnblogs.com/victorwu/p/5762931.html

深度解读

http://www.cnblogs.com/yyds/p/6627208.html

4.2python处理xml文件

http://www.cnblogs.com/yyds/p/6627208.html

时间: 2024-08-01 09:58:04

python 文件处理 -- 03 文件处理模块的相关文章

Python 的 pyinotify 模块 监控文件夹和文件的变动

官方参考: https://github.com/seb-m/pyinotify/wiki/Events-types https://github.com/seb-m/pyinotify/wiki/Install 最近在网上看到python有个pyinotify模块,其中他们可以监控文件夹内的文件的创建,修改,读取,删除等系列操作,我修改了下,添加了可以吧操作记录写到日志里的一点方法,下面就贴出代码了给大家分享下:#!/usr/bin/env python ? 01 02 03 04 05 06

python之模块py_compile用法(将py文件转换为pyc文件)

# -*- coding: cp936 -*- #python 27 #xiaodeng #python之模块py_compile用法(将py文件转换为pyc文件) #二进制文件,是由py文件经过编译后,生成的文件. ''' import py_compile #不带转义r py_compile.compile('D:\test.py') Traceback (most recent call last): File "<pyshell#1>", line 1, in &l

python动态import某个文件夹下的模块

因为有  "用户上传脚本,动态运行"的需求,所以要动态地import用户上传的模块 所以写了个函数动态地import # -*- coding: utf-8 -*- import os import sys import os.path import Queue import commands def test(rootDir): #判断传入的路径下是否有"__init__.py"这个文件了,如果没有则创建,否则import会认为没有这个moudle if os.p

Python读写文件&amp;is和==区别&amp;常用模块

目录 1. 读写文件 2. is和==区别 3. 常用模块 1. 读写文件 1. open函数用来打开文件 1. open(name[, mode[, buffering]])  打开文件可传的参数 1. open函数使用一个文件名作为唯一的强制参数,然后返回一个文件对象. 2. 模式(mode)和缓冲(buffering)参数都是可选的 2. 打开文件的模式有 • r,只读模式(默认). • w,只写模式.[不可读:不存在则创建:存在则删除内容:] • a,追加模式.[可读: 不存在则创建:存

Python之文件操作:文件的读写

一.open函数:对文件读写之前,需要先打开文件,获取文件句柄 注意:open() file() 尽量使用open(),Python3以后不支持file()了 1.open(file_name[,access_mode][,buffering]) (1)参数说明 file_name:一个包含了你要访问的文件路径及文件名称的字符串值.尽量使用绝对路径 access_mode:打开文件的方式:这个参数是非强制的,默认文件访问模式为只读(r) r,只读 w:写之前会清空文件的内容 a:追加的方式,在原

2015/9/9 Python基础(10):文件和输入输出

文件对象文件对象不仅可以用来访问普通的磁盘文件,而且也可以访问其它任何类型抽象层面上的“文件”.一旦设置了合适的“钩子”,你就可以访问文件类型接口的其它对象,就好像访问的是普通文件一样.文件对象的处理要以来很多内建函数,还有很多函数会返回文件对象或者是类文件对象.进行这种轴向处理的主要原因是许多输入/输出数据结构更趋向于使用通用的接口.这样就可以在程序行为和实现上保持一致性.文件只是连续的字节序列,数据传输经常会用到字节流,无论字节流是由单个字节还是大块数据组成. 文件内建函数[open()和f

python专题-读取xml文件

关于python读取xml文章很多,但大多文章都是贴一个xml文件,然后再贴个处理文件的代码.这样并不利于初学者的学习,希望这篇文章可以更通俗易懂的教如何使用python 来读取xml 文件. 什么是xml? xml即可扩展标记语言,它可以用来标记数据.定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言. abc.xml <?xml version="1.0" encoding="utf-8"?> <catalog> <max

python中关于本地文件的API

Python中关于本地文件的API */--> Python中关于本地文件的API #TITLE: python中关于本地文件的API #KEYWORDS: Python,文件,路径 #DATE: Fri Jul 1 21:24:04 2016 在Python中,文件操作主要来自os模块,主要方法如下: 函数 描述 os.listdir(dirname) 列出dirname下的目录和文件 os.getcwd() 获得当前工作目录 os.curdir 返回当前目录('.') os.chdir(di

Python学习笔记六--文件和输入输出

6.1文件对象 所有Python对文件的操作都是基于对文件对象的操作.那么就从文件对象的创建说起.open()[file()]提供初始化输入输出的接口.open()成功打开文件时会返回一个文件对象. open()方法的语法: file_object=open(filename,access_mode,buffering) filename,表示要打开的文件名的字符串,可以是相对路径也可以是绝对路径. access_mode,表示打开方式.常见有'r'.'w'.'a',分别表示读模式,写模式,追加