######################################################
#os库
######################################################
#遍历目录
os.walk(dir)
对每个目录返回一个三元组(dirpath, dirnames, filenames)
目录名,该目录下的子目录,目录下的文件
得到目录下文件的绝对路径可使用os.path.join(dirpath, name).
例:得到目录下所有文件
for dirpath, dirnames, filenames in os.walk('F:'+os.sep+'aa'):
print dirpath,dirnames,filenames
for file in filenames:
print file
#result
F:\aa ['check', 'check2'] ['AudioEngine.lua', 'CCBReaderLoad.lua', 'Cocos2d.lua', 'CocoStudio.lua', 'extern.lua']
AudioEngine.lua
CCBReaderLoad.lua
Cocos2d.lua
CocoStudio.lua
extern.lua
F:\aa\check [] ['check.plist', 'plistFile.txt', 'version.txt']
check.plist
plistFile.txt
version.txt
F:\aa\check2 [] ['json.lua']
json.lua
######################################################################
os.getcwd() 得到当前目录
os.curdir 等价于os.getcwd() 输出"."
os.pardir 父目录,输出".."
os.sep 输出操作系统特定的路径分隔符,win下为"\\",Linux下为"/"
os.linesep 输出当前平台使用的行终止符,win下为"\t\n",Linux下为"\n"
os.pathsep 输出用于文件路径分割的字符串";"
os.name 字符串指示你正在使用的平台。比如对于Windows,它是'nt',而对于Linux/Unix用户,它是'posix'
例:
print "----------"
print os.getcwd()
print os.curdir
print os.pardir
print os.sep
print os.linesep
print os.pathsep
print os.name
#result
----------
E:\eclipse\workspace\hepeng111
.
..
\
;
nt
######################################################################
os.chdir() 改变工作目录
print os.getcwd()
os.chdir('F:'+os.sep+'aa')
print os.getcwd()
#result
E:\eclipse\workspace\hepeng111
F:\aa
######################################################################
os.listdir() 以列表方式返回目录下所有的子目录及文件
例:
for i in os.listdir('F:'+os.sep+'aa'):
print i
#result
AudioEngine.lua
CCBReaderLoad.lua
check
check2
Cocos2d.lua
CocoStudio.lua
extern.lua
######################################################################
os.stat() 获得文件目录信息
os.utime() 修改时间属性
例:访问时间和存取时间
stinfo = os.stat('F:'+os.sep+'aa'+os.sep+'extern.lua')
print stinfo.st_atime,stinfo.st_mtime
os.utime('F:'+os.sep+'aa'+os.sep+'extern.lua', (1422002036, 1389164003))
stinfo = os.stat('F:'+os.sep+'aa'+os.sep+'extern.lua')
print stinfo.st_atime,stinfo.st_mtime
#result
1422002037.73 1389164004.0
1422002036.0 1389164003.0
######################################################################
os.environ 获取环境变量
os.getenv() 用来读取环境变量
os.putenv() 用来设置环境变量
print os.getenv("PYTHONIOENCODING")
print os.environ
#result
UTF-8
{'TMP': 'C:\\Users\\\xc5\xf4\\AppData\\Local\\Temp', 'PYTHONIOENCODING': 'UTF-8', 'COMPUTERNAME': 'HEPENG', 'VS110COMNTOOLS': 'C:\\Program Files (x86)\\Microsoft Visual Studio 11.0\\Common7\\Tools\\', 'USERDOMAIN': 'hepeng', 'PSMODULEPATH': 'C:\\Windows\\system32\\WindowsPowerShell\\v1.0\\Modules\\', 'COMMONPROGRAMFILES': 'C:\\Program Files\\Common Files',....}
######################################################################
os.remove() 删除一个文件
os.rename("oldname","newname") 重命名文件/目录
例:
for i in os.walk('F:'+os.sep+'aa'):
for ii in i[2]:
if ii=='extern.lua':
print "tototototo"
os.rename(i[0]+os.sep+ii, i[0]+os.sep+'exter.lua')
elif ii=="Cocos2d.lua":
print "iiiii"
os.remove(i[0]+os.sep+ii)
print os.path.exists('F:'+os.sep+'aa'+os.sep+"Cocos2d.lua")
#result
iiiii
tototototo
False
######################################################################
os.makedirs('dirname1/dirname2') 可生成多层递归目录
os.removedirs('dirname1') 若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推
os.mkdir('dirname') 生成单级目录;相当于shell中mkdir dirname
os.rmdir('dirname') 删除单级空目录,若目录不为空则无法删除,报错;相当于shell中rmdir dirname
注:必须删除空的目录,否则报错
######################################################################
os.access('pathfile',os.W_OK) 检验文件权限模式,输出True,False
os.chmod('pathfile',os.W_OK) 改变文件权限模式
os.system("bash command") 运行shell命令,直接显示
######################################################################
#os.path
######################################################################
os.path.split() 将路径名分解为目录和文件名,不检查文件是否存在
只是简单的返回os.sep两边的值
os.path.splitext() 将路径名分解为路径和扩展名
os.path.basename() 返回文件名
os.path.dirname() 返回文件路径
os.path.join() 连接路径,第一个绝对路径前的文件名将忽略
例:
a,b = os.path.split('F:'+os.sep+'aa'+os.sep+'extern.lua')
print a,"|||",b
print os.path.join(a,b)
a,b = os.path.splitext('F:'+os.sep+'aa'+os.sep+'extern.lua')
print a,"|||",b
print os.path.basename('F:'+os.sep+'aa'+os.sep+'extern.lua')
print os.path.dirname('F:'+os.sep+'aa'+os.sep+'extern.lua')
#result
F:\aa ||| extern.lua
F:\aa\extern.lua
F:\aa\extern ||| .lua
extern.lua
F:\aa
######################################################################
os.path.exists() 判断目录或文件是否存在
os.path.isfile() 判断是否是文件
os.path.isdir() 判断是否是目录
os.path.isabs() 判断是否是绝对路径
例:
print os.path.exists('F:'+os.sep+'aa')
print os.path.isfile('F:'+os.sep+'aa')
print os.path.isdir('F:'+os.sep+'aa')
print os.path.isabs('F:'+os.sep+'aa'+os.sep+'extern.lua')
#result
True
False
True
True
######################################################################
os.path.abspath(name) 获得绝对路径,只能用于当前目录下
os.path.normpath(path) 规范path字符串形式
例:
print os.path.normpath('F://niwo\/shi/he.py')
print os.path.abspath("..")
print os.path.abspath(".")
print os.path.abspath("xxx?")
#result
F:\niwo\shi\he.py
E:\eclipse\workspace
E:\eclipse\workspace\hepeng111
E:\eclipse\workspace\hepeng111\xxx?
######################################################################
os.path.getsize(name) 获得文件大小,如果name是目录返回0L
os.path.getatime(path) 返回path所指向的文件或者目录的最后存取时间
os.path.getmtime(path) 返回path所指向的文件或者目录的最后修改时间
例:
print os.path.getsize('F:'+os.sep+'aa'+os.sep+'extern.lua')
print os.path.getatime('F:'+os.sep+'aa'+os.sep+'extern.lua')
print os.path.getmtime('F:'+os.sep+'aa'+os.sep+'extern.lua')
#result
2587
1422002037.73
1389164004.0
######################################################################
#shutil fp
######################################################################
shutil.copy(src,dst)
将文件src(只能是文件名)复制到src(文件名或目录)
shutil.copyfile(src,dst) 复制文件
shutil.copyfileobj(f1,f2 [,length]) 复制文件流。将流f1中所有数据复制到流f2
shutil.copytree(src,dst) 复制整个目录下的文件到dst,dst必须是个不存在的目录名
shutil.move(src,dst) 将文件或目录从src移动到dst,如果dst不是目录,则是重命名
shutil.rmtree(path) 删除目录树,包括空目录
例:
filename1 = 'F:'+os.sep+'aa'+os.sep+'extern.lua'
filename2 = filename1 + ".copy"
print filename1, "=>", filename2
shutil.copy (filename1, filename2)
if os.path.isfile (filename2): print "Success"
dirname1='F:'+os.sep+'aa'+os.sep+'check2'
dirname2 = dirname1 + ".copy"
print dirname1, "=>", dirname2
shutil.copytree(dirname1, dirname2)
if os.path.isdir (dirname2): print "Success"
shutil.move(filename1,dirname2)
if os.path.isfile(dirname2+os.sep+os.path.basename(filename1)): print "Success"
shutil.move(dirname1,dirname2)
if os.path.isdir (dirname2+os.sep+os.path.basename(dirname1)): print "Success"
#result
F:\aa\extern.lua => F:\aa\extern.lua.copy
Success
F:\aa\check2 => F:\aa\check2.copy
Success
Success
Success
######################################################################
#os库
######################################################
#遍历目录
os.walk(dir)
对每个目录返回一个三元组(dirpath, dirnames, filenames)
目录名,该目录下的子目录,目录下的文件
得到目录下文件的绝对路径可使用os.path.join(dirpath, name).
例:得到目录下所有文件
for dirpath, dirnames, filenames in os.walk('F:'+os.sep+'aa'):
print dirpath,dirnames,filenames
for file in filenames:
print file
#result
F:\aa ['check', 'check2'] ['AudioEngine.lua', 'CCBReaderLoad.lua', 'Cocos2d.lua', 'CocoStudio.lua', 'extern.lua']
AudioEngine.lua
CCBReaderLoad.lua
Cocos2d.lua
CocoStudio.lua
extern.lua
F:\aa\check [] ['check.plist', 'plistFile.txt', 'version.txt']
check.plist
plistFile.txt
version.txt
F:\aa\check2 [] ['json.lua']
json.lua
######################################################################
os.getcwd() 得到当前目录
os.curdir 等价于os.getcwd() 输出"."
os.pardir 父目录,输出".."
os.sep 输出操作系统特定的路径分隔符,win下为"\\",Linux下为"/"
os.linesep 输出当前平台使用的行终止符,win下为"\t\n",Linux下为"\n"
os.pathsep 输出用于文件路径分割的字符串";"
os.name 字符串指示你正在使用的平台。比如对于Windows,它是'nt',而对于Linux/Unix用户,它是'posix'
例:
print "----------"
print os.getcwd()
print os.curdir
print os.pardir
print os.sep
print os.linesep
print os.pathsep
print os.name
#result
----------
E:\eclipse\workspace\hepeng111
.
..
\
;
nt
######################################################################
os.chdir() 改变工作目录
print os.getcwd()
os.chdir('F:'+os.sep+'aa')
print os.getcwd()
#result
E:\eclipse\workspace\hepeng111
F:\aa
######################################################################
os.listdir() 以列表方式返回目录下所有的子目录及文件
例:
for i in os.listdir('F:'+os.sep+'aa'):
print i
#result
AudioEngine.lua
CCBReaderLoad.lua
check
check2
Cocos2d.lua
CocoStudio.lua
extern.lua
######################################################################
os.stat() 获得文件目录信息
os.utime() 修改时间属性
例:访问时间和存取时间
stinfo = os.stat('F:'+os.sep+'aa'+os.sep+'extern.lua')
print stinfo.st_atime,stinfo.st_mtime
os.utime('F:'+os.sep+'aa'+os.sep+'extern.lua', (1422002036, 1389164003))
stinfo = os.stat('F:'+os.sep+'aa'+os.sep+'extern.lua')
print stinfo.st_atime,stinfo.st_mtime
#result
1422002037.73 1389164004.0
1422002036.0 1389164003.0
######################################################################
os.environ 获取环境变量
os.getenv() 用来读取环境变量
os.putenv() 用来设置环境变量
print os.getenv("PYTHONIOENCODING")
print os.environ
#result
UTF-8
{'TMP': 'C:\\Users\\\xc5\xf4\\AppData\\Local\\Temp', 'PYTHONIOENCODING': 'UTF-8', 'COMPUTERNAME': 'HEPENG', 'VS110COMNTOOLS': 'C:\\Program Files (x86)\\Microsoft Visual Studio 11.0\\Common7\\Tools\\', 'USERDOMAIN': 'hepeng', 'PSMODULEPATH': 'C:\\Windows\\system32\\WindowsPowerShell\\v1.0\\Modules\\', 'COMMONPROGRAMFILES': 'C:\\Program Files\\Common Files',....}
######################################################################
os.remove() 删除一个文件
os.rename("oldname","newname") 重命名文件/目录
例:
for i in os.walk('F:'+os.sep+'aa'):
for ii in i[2]:
if ii=='extern.lua':
print "tototototo"
os.rename(i[0]+os.sep+ii, i[0]+os.sep+'exter.lua')
elif ii=="Cocos2d.lua":
print "iiiii"
os.remove(i[0]+os.sep+ii)
print os.path.exists('F:'+os.sep+'aa'+os.sep+"Cocos2d.lua")
#result
iiiii
tototototo
False
######################################################################
os.makedirs('dirname1/dirname2') 可生成多层递归目录
os.removedirs('dirname1') 若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推
os.mkdir('dirname') 生成单级目录;相当于shell中mkdir dirname
os.rmdir('dirname') 删除单级空目录,若目录不为空则无法删除,报错;相当于shell中rmdir dirname
注:必须删除空的目录,否则报错
######################################################################
os.access('pathfile',os.W_OK) 检验文件权限模式,输出True,False
os.chmod('pathfile',os.W_OK) 改变文件权限模式
os.system("bash command") 运行shell命令,直接显示
######################################################################
#os.path
######################################################################
os.path.split() 将路径名分解为目录和文件名,不检查文件是否存在
只是简单的返回os.sep两边的值
os.path.splitext() 将路径名分解为路径和扩展名
os.path.basename() 返回文件名
os.path.dirname() 返回文件路径
os.path.join() 连接路径,第一个绝对路径前的文件名将忽略
例:
a,b = os.path.split('F:'+os.sep+'aa'+os.sep+'extern.lua')
print a,"|||",b
print os.path.join(a,b)
a,b = os.path.splitext('F:'+os.sep+'aa'+os.sep+'extern.lua')
print a,"|||",b
print os.path.basename('F:'+os.sep+'aa'+os.sep+'extern.lua')
print os.path.dirname('F:'+os.sep+'aa'+os.sep+'extern.lua')
#result
F:\aa ||| extern.lua
F:\aa\extern.lua
F:\aa\extern ||| .lua
extern.lua
F:\aa
######################################################################
os.path.exists() 判断目录或文件是否存在
os.path.isfile() 判断是否是文件
os.path.isdir() 判断是否是目录
os.path.isabs() 判断是否是绝对路径
例:
print os.path.exists('F:'+os.sep+'aa')
print os.path.isfile('F:'+os.sep+'aa')
print os.path.isdir('F:'+os.sep+'aa')
print os.path.isabs('F:'+os.sep+'aa'+os.sep+'extern.lua')
#result
True
False
True
True
######################################################################
os.path.abspath(name) 获得绝对路径,只能用于当前目录下
os.path.normpath(path) 规范path字符串形式
例:
print os.path.normpath('F://niwo\/shi/he.py')
print os.path.abspath("..")
print os.path.abspath(".")
print os.path.abspath("xxx?")
#result
F:\niwo\shi\he.py
E:\eclipse\workspace
E:\eclipse\workspace\hepeng111
E:\eclipse\workspace\hepeng111\xxx?
######################################################################
os.path.getsize(name) 获得文件大小,如果name是目录返回0L
os.path.getatime(path) 返回path所指向的文件或者目录的最后存取时间
os.path.getmtime(path) 返回path所指向的文件或者目录的最后修改时间
例:
print os.path.getsize('F:'+os.sep+'aa'+os.sep+'extern.lua')
print os.path.getatime('F:'+os.sep+'aa'+os.sep+'extern.lua')
print os.path.getmtime('F:'+os.sep+'aa'+os.sep+'extern.lua')
#result
2587
1422002037.73
1389164004.0
######################################################################
#shutil fp
######################################################################
shutil.copy(src,dst)
将文件src(只能是文件名)复制到src(文件名或目录)
shutil.copyfile(src,dst) 复制文件
shutil.copyfileobj(f1,f2 [,length]) 复制文件流。将流f1中所有数据复制到流f2
shutil.copytree(src,dst) 复制整个目录下的文件到dst,dst必须是个不存在的目录名
shutil.move(src,dst) 将文件或目录从src移动到dst,如果dst不是目录,则是重命名
shutil.rmtree(path) 删除目录树,包括空目录
例:
filename1 = 'F:'+os.sep+'aa'+os.sep+'extern.lua'
filename2 = filename1 + ".copy"
print filename1, "=>", filename2
shutil.copy (filename1, filename2)
if os.path.isfile (filename2): print "Success"
dirname1='F:'+os.sep+'aa'+os.sep+'check2'
dirname2 = dirname1 + ".copy"
print dirname1, "=>", dirname2
shutil.copytree(dirname1, dirname2)
if os.path.isdir (dirname2): print "Success"
shutil.move(filename1,dirname2)
if os.path.isfile(dirname2+os.sep+os.path.basename(filename1)): print "Success"
shutil.move(dirname1,dirname2)
if os.path.isdir (dirname2+os.sep+os.path.basename(dirname1)): print "Success"
#result
F:\aa\extern.lua => F:\aa\extern.lua.copy
Success
F:\aa\check2 => F:\aa\check2.copy
Success
Success
Success
######################################################################
1542

被折叠的 条评论
为什么被折叠?



