Python Windows文件操作

获得目录和文件名

os.getenv()获取环境变量 
os.putenv()设置环境变量 
os.getcwd() 获得当前目录 
os.chdir(‘要设置的当前目录’) 
os.listdir() 返回目录下所有文件 
os.path.split()路径的目录名和文件名 
os.path.splitext()分开文件名和拓展名 
os.path.join(path,name)连接目录与文件 
os.path.abspath(name)获得绝对路径

获得文件属性

os.stat(file)获取文件属性 
os.path.getsize(filename)获取文件大小 
os.path.getatime(path):文件或文件夹的最后访问时间,从新纪元到访问时的秒数 
os.path.getmtime(path):文件或文件夹的最后修改时间 
os.path.getctime(path):文件或文件夹的创建时间 
os.path.getsize(path):文件或文件夹的大小,若是文件夹返回0

获得系统分隔符

os.sep获得路径分隔符 
os.extsep获得扩展名分隔符 
os.pathsep获得目录分隔符 
os.linesep获得换行符 
os.name获得操作系统名称

创建文件

os模块中的mknod方法(创建指定名字的空白文件)时,Traceback报以下错误:

AttributeError: 'module' object has no attribute 'mknod'

追其原因是因为windows文件系统与linux文件系统不同,没有node的概念,所以会报错。我们在使用追加打开方式的时候,python会自动创建文件。 

open(‘test.txt‘,w) 直接打开一个文件,如果文件不存在则创建文件

创建目录:

os.mkdir(‘file‘) 创建目录 
os.makedirs(outnewpath) 创建多级目录,eg:

os.makedirs('t2/t3/t4', mode=0o777)

  

复制文件:

import shutil

shutil.copyfile( src, dst) 从源src复制到dst中去。当然前提是目标地址是具备可写权限。抛出的异常信息为IOException. 如果当前的dst已存在的话就会被覆盖掉
shutil.move( src, dst)  移动文件或重命名
shutil.copymode( src, dst) 只是会复制其权限其他的东西是不会被复制的
shutil.copystat( src, dst) 复制权限、最后访问时间、最后修改时间
shutil.copy( src, dst)  复制一个文件到一个文件或一个目录
shutil.copy2( src, dst)  在copy上的基础上再复制文件最后访问时间与修改时间也复制过来了,类似于cp –p的东西
shutil.copy2( src, dst)  如果两个位置的文件系统是一样的话相当于是rename操作,只是改名;如果是不在相同的文件系统的话就是做move操作
shutil.copytree( olddir, newdir, True/Flase)
把olddir拷贝一份newdir,如果第3个参数是True,则复制目录时将保持文件夹下的符号连接,如果第3个参数是False,则将在复制的目录下生成物理副本来替代符号连接

复制文件夹:

shutil.copytree(“olddir”,”newdir”) olddir和newdir都只能是目录,且newdir必须不存在

重命名文件(目录)

os.rename(“oldname”,”newname”) 文件或目录都是使用这条命令

移动文件(目录)

shutil.move(“oldpos”,”newpos”) 
os.removedirs()

删除文件

os.remove(“file”)

删除目录

os.rmdir(“dir”) 只能删除空目录 
os.removedirs() 删除多个目录 
shutil.rmtree(“dir”) 空目录、有内容的目录都可以删

转换目录

os.chdir(“path”) 换路径

判断目标

os.path.exists(“goal”) 判断目标是否存在 
os.path.isdir(“goal”) 判断目标是否目录 
os.path.isfile(“goal”) 判断目标是否文件 
os.path.isabs() 判断是否是绝对路径 
os.path.islink(path):返回是否是快捷方式

其他

os.system()执行shell 
os.exit()终止当前进程 
os.ctermid() 返回文件名对应的进程的控制终端 
os.getpid() 得到当前进程id 
os.getppid() 获得父进程id 
os.execl(path):运行一个程序来替代当前进程 
startfile(filename):用与文件关联的程序运行

上一篇:C语言 文件操作11--文件函数再讲 fseek()和ftell()


下一篇:Python基本语法_文件操作_读写函数详解