python os模块学习
脚本主要从<Python+Standard+Library中文版_IT168文库.pdf>抄下来的记录.
此处为os模块内容,学习完这些,可以完成一些日常运维工作吧.
#!/usr/bin/python #coding=utf-8 #time: 2013-10-02 #os_example_3.py #实现os modules重命名和删除文件需要 #os.rename and os.remove import os import string #定义函数,实现文件复制功能 def replace(file, search_for, replace_with): #replace string in a text file back = os.path.splitext(file)[0] + ".bak" temp = os.path.splitext(file)[0] + ".tmp" #os.path.splitext("/tmp/test/mojigan.txt") #('/tmp/test/mojigan', '.txt') #文件删除,无论有没有 try: #remove old temp file,if any os.remove(temp) except os.error: pass #<open file 'samples/sample.txt', mode 'r' at 0x2b4cbde50af8> #<open file 'samples/sample.tmp', mode 'w' at 0x2b4cbde50b70> fi = open(file) fo = open(temp, "w") #文件逐行读入,并过滤更改,并写入文件 for s in fi.readlines(): fo.write(string.replace(s, search_for, replace_with)) fi.close() fo.close() try: #remove old backup file,if any os.remove(back) except os.error: pass #文件重命名实现 #rename original to backup.. os.rename(file, back) #... and temporary to original os.rename(temp, file) ##try it out! file = "samples/sample.txt" replace(file, "hello", "tjena") replace(file, "tjena", "hello")
#!/usr/bin/python #coding=utf-8 #os_example_4.py #主要使用目录更改变换 #os.getcwd and os.chdir为os模块的方法,带() #os.pardir 只是os模块的属性,值为'..',它没有括号的 import os print "当前目录位置为: " + os.getcwd() os.chdir("/tmp") print "现在已经更改目录操作,再查看当前目录: " + os.getcwd() os.chdir("/root/python/source") print "初始回刚开始的目录位置: " + os.getcwd() os.chdir(os.pardir) print "呵呵,现在在上一级目录,当前为: " + os.getcwd()
#/usr/bin/python #coding=utf-8 #如果脚本有中文注释,请使用coding处理,且必须放在第二行 #os_example_5.py #time 2013-10-02 #主要列出目录下的文件列表 #os.listdir import os dirname = "/" for file in os.listdir(dirname): print file