您的位置:首页 > 编程语言 > Python开发

python文件和目录操作方法大全

2017-03-06 10:22 323 查看
一、python中对文件、文件夹操作时经常用到的os模块和shutil模块常用方法:
1.得到当前工作目录,即当前Python脚本工作的目录路径:os.getcwd()
2.返回指定目录下的所有文件和目录名:	os.listdir()
3.删除一个文件:				os.remove()
4.删除多个目录:			os.removedirs()
5.检验给出的路径是否是一个文件:	os.path.isfile()
6.检验给出的路径是否是一个目录:	os.path.isdir()
7.判断是否是绝对路径:			os.path.isabs()
8.检验给出的路径是否真的存在:		os.path.exists()
9.返回一个路径的目录名和文件名:   	os.path.split()
10.分离扩展名:				os.path.splitext()
11.获取路径名:				os.path.dirname()
12.获取文件名:				os.path.basename()
13.运行shell命令:			os.system()
14.读取和设置环境变量:			os.getenv() 与os.putenv()
15.给出当前平台使用的行终止符:    	os.linesep(Windows使用'\r\n',Linux使用'\n'而Mac使用'\r')
16.指示你正在使用的平台:		os.name (对于Windows,它是'nt',而对于Linux/Unix用户,它是'posix')
17.重命名:				os.rename(old, new)
18.创建多级目录:			os.makedirs()
19.创建单个目录:			os.mkdir()
20.获取文件属性:			os.stat(file)
21.修改文件权限与时间戳:		os.chmod(file)
22.终止当前进程: 			os.exit()
23.获取文件大小: 			os.path.getsize()
24.转换path的大小写和斜杠:		os.path.normcase(path)
25.规范path字符串形式: 		os.path.normpath(path)
26.返回path的真实路径:			os.path.realpath(path)
27.从start开始计算相对路径: 		os.path.relpath(path[, start])
28.复制文件:				shutil.copyfile("oldfile","newfile")# oldfile和newfile都只能是文件
shutil.copy("oldfile","newfile")# oldfile只能是文件夹,newfile可以是文件,也可以是目标目录
29.复制文件夹:				shutil.copytree("olddir","newdir")# olddir和newdir都只能是目录,且newdir必须不存在
30.移动文件(目录):			shutil.move("oldpos","newpos")
31.删除目录:    			shutil.rmtree("dir")#空目录、有内容的目录都可以删
32.切换目录:    			os.chdir("path")


二、文件操作方法大全:

1.创建空文件:			os.mknod("test.txt")
2.打开/创建文件:		fp = open(filename,mode)
关于open 模式:
a:  以追加模式打开 (从 EOF 开始, 必要时创建新文件)
r+: 以读写模式打开
w+: 以读写模式打开 (参见 w )
a+: 以读写模式打开 (参见 a )
rb: 以二进制读模式打开
wb: 以二进制写模式打开 (参见 w )
ab: 以二进制追加模式打开 (参见 a )
rb+:以二进制读写模式打开 (参见 r+ )
wb+:以二进制读写模式打开 (参见 w+ )
ab+:以二进制读写模式打开 (参见 a+ )
w:  以写方式打开
3. fp.read([size]) :			size为读取的长度,以byte为单位。
4. fp.readline([size]) :		读一行,如果定义了size,有可能返回的只是一行的一部分。
5. fp.readlines([size]) :		把文件每一行作为一个list的一个成员,并返回这个list。如果提供size参数,size是表示读取内容的总长。
6. fp.write(str) :			把str写到文件中,write()并不会在str后加上一个换行符。
7. fp.writelines(seq) :		把seq的内容全部写到文件中(多行一次性写入)。不会在每行后面加上任何东西。
8. fp.close() : 			关闭文件。
9. fp.flush() : 			把缓冲区的内容写入硬盘
10. fp.fileno() : 			返回一个长整型的”文件标签“
11. fp.isatty() : 			文件是否是一个终端设备文件(unix系统中的)
12. fp.tell() : 			返回文件操作标记的当前位置,以文件的开头为原点
13. fp.next() : 			返回下一行,并将文件操作标记位移到下一行。for … in file就是调用next()函数来实现遍历的。
14. fp.seek(offset[,whence]): 		将文件操作标记移到offset的位置。whence为0从头开始计算,1以当前位置计算。2以文件末尾计算。
15. fp.truncate([size]) :		把文件裁成规定的大小,默认裁到当前文件操作标记的位置。如果size>文件大小,则行为未定义。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: