资源描述:
《PythonOS模块学习》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、PythonOS模块学习os模块提供了一个统一的操作系统接口函数,这些接口函数通常是平台指定的,os模块能在不同操作系统平台如nt或posix中的特定函数间自动切换,从而能实现跨平台操作 1.文件操作build-in函数open实现文件创建,打开,修改文件的操作 importosimportstring defreplace(file,search_for,replace_with):#replacestringsinatextfile back=os.path.splitext(file)[0]+".bak
2、"temp=os.path.splitext(file)[0]+".tmp" try:#removeoldtempfile,ifanyos.remove(temp)exceptos.error:pass fi=open(file)#fo=open(temp,"w") # forsinfi.readlines():fo.write(string.replace(s,search_for,replace_with)) fi.close()fo.close() try:#removeoldback
3、upfile,ifanyos.remove(back)exceptos.error:pass #renameoriginaltobackup...os.rename(file,back) #...andtemporarytooriginalos.rename(temp,file) #tryitout! file="c:samplessample.txt" replace(file,"hello","tjena")#searchforthestring'hello'andreplacewith'tjen
4、areplace(file,"tjena","hello") 2.目录操作os模块包含了许多对目录操作的函数listdir函数返回给定目录下的所有文件(包括目录) importosforfileinos.listdir("c:qtest"):printfile getdir获取当前目录chdir改变当前路径 cwd=os.getcwd()print"1",cwd#godownos.chdir("c:qtest")print"2",os.getcwd()#gobackupos.chdir(os.pardi
5、r)#返回当前目录的父目录print"3",os.getcwd() makedirsremovedirs生成和删除目录makedirs可以生成多层递归目录,removedirs可以删除多层递归的空目录,若目录中有文件则无法删除 importosos.makedirs("c:\test\multiple\levels")fp=open("c:\test\multiple\levels\file.txt","w")fp.write("inspectorpraline")fp.close()#remov
6、ethefileos.remove("c:\test\multiple\levels\file.txt")#andallemptydirectoriesaboveitos.removedirs("c:\test\multiple\levels") mkdir和rmdir只能处理单级目录操作.若要删除非空目录,可使用shutil模块中的rmtree函数 3.文件属性的操作importosimporttimefile='c:qtesteditor.pyc' st=os.stat(file)pri
7、nt"state",file defdump(st):mode,ino,dev,nlink,uid,gid,size,atime,mtime,ctime=stprint"-size:",size,"bytes"print"-owner:",uid,gidprint"-created:",time.ctime(ctime)print"-lastaccessed:",time.ctime(atime)print"-lastmodified:",time.ctime(mtime)print"-mode:",oct(mo
8、de)print"-inode/dev:",ino,dev printdir(st)print dump(st)#print fp=open(file)st=os.fstat(fp.fileno())print"fstat",filedump(st) remark:os.stat(path/file)返回文件的对应属性值st_mode(p