18 python文件、目录操作

  1 1,文件和目录
  2     1.1使用open函数
  3     1.2使用file的类
  4     
  5     文件句柄 = open(文件名,打开模式)   --打开
  6     文件句柄.read   --读取
  7 
  8    例如:
  9     fo=os.open("./123.txt")  --默认以只读模式  ##使用open函数
 10     fo.write("xxxxxxxx")  --  ##说明,不会自动加上换行符  \n
 11     fo.read()
 12     fo.close()
 13 
 14     f1=file("./1.txt")   --默认以只读模式 ##使用file类
 15     f1.read()
 16     f1.write("xxxxxxxx")  --  ##说明,不会自动加上换行符  \n
 17     f1.close()
 18 
 19     模式:
 20     r     ---只读
 21     r+    ---读写
 22     w     ---只写,会清空文件,会创建
 23     w+    ---读写,会清空文件,会创建
 24     a     ---只写,追加,会创建
 25     a+    ---读写,追加,会创建
 26     b     ---二进制,可于以上模式结合使用
 27     U     ---支持所有换行符号
 28 
 29 
 30     fnew=open("./1.txt","w")
 31     fnew.write("xxxxxx")     --写入内容,此时只在缓冲区
 32     fnew.close()             --关闭时,才会真正写入到文件中
 33 
 34     for i in open("./123.txt","r"):     ##每读取一行为列表中的一个元素
 35         print i
 36 
 37 2,文件对象的方法   
 38    一个字符串 = fo.read()        --一次读取所有数据
 39 
 40 
 41    一个字符串 = fo.readline()      --每次读取一行  
 42                 readline() 从文件中读取单独一行,字符串结尾会自动加上一个换行符,只有当文件最后一行没有以换行符结尾时,这一操作才会被忽略。这样返回值就不会有什么混淆不清,
 43                 如果 if f.readline() 返回一个空字符串,那就表示到达了文件末尾,
 44                 如果是一个空行,就会描述为‘\n’,一个只包含换行符的字符串。
 45    
 46    列表  =  fo.readlines()     --一次读完,每行作为列表的一个元素
 47     
 48 例:
 49 ##读取当前目录下的文件
 50 fileh=open("./123.txt")  ##打开文件
 51 while(1):
 52     txt_line=fileh.readline() ##读取文件
 53     if txt_line =='':      ## 这里必段要加BREAK条件,否则文件读完后一直打印空,函数不退出
 54         break
 55     else:
 56         txt_line=txt_line.rstrip('\n')
 57         print txt_line
 58         
 59 
 60 
 61 
 62    
 63     fo.next()    --返回当前行,并将文件指针移到下一行
 64                         --类似于readline 当比readline好,在于读完后会有提示,
 65                         --而readline则读完后,则会返回空
 66 
 67     fo.write()  ---单行写入,一次只能写入一个字符串,且不会自动换行
 68     fo.writelines() ---多行写入,
 69     例如:
 70     list=["nihao","ma","henhao"]
 71     fo.writelines(list)  
 72         ----列表中的每个元素,作为一行写入,自动换行写入到文件中
 73 
 74 
 75 
 76 
 77 
 78 
 79 3,seek()函数   --移动指针函数
 80    fo.seek(偏移量,选项)
 81    选项为:
 82    0  从头部开始,向后偏移
 83    1  从当前开始,向后偏移
 84    2  从文件尾开始,向前偏移
 85 
 86    例:
 87    seek(0,0)    移动到头
 88    seek(0,2)    移动到尾
 89    seek(1,0)    在当前位置向后移1 
 90    seek(-1,0)    在当前位置向前移1 
 91 
 92 4,flush()函数    --提交更新函数
 93    FileObject.flush()   ---将缓冲区内容立马写到文件中(因为一般情况是只有close了才会真正写入到文件中)
 94 
 95 
 96 5,文件的查找和替换
 97    
 98 
 99 
100 
101 
102 
103 ###############目录操作#####################
104 os 模块
105 import os
106 1,目录操作
107    目录的创建,修改,遍历
108 
109    例:
110    1.1创建目录
111    os.mkdir('./huang')     ##  创建一个目录
112    os.makedirs("./huang/hyy/pyton")  ##创建多个目录  (只能是目录)
113 
114    注意:
115    os.makedirs("./huang/hyy/1.txt")  ##则最后一个1.txt也是目录
116 
117 
118    1.2删除目录
119    os.rmdir("./huang/hyy")       ##只删除了hyy目录
120    os.removedirs("./huang/hyy")  ##删除了多个目录
121    注意:
122       目录非空是删除不了的
123 
124    1.3列出目录
125    ##返回值是一个列表
126    a=os.listdir("./huang")   ##只能列出当前目录下面的文件和目录,而不能递归到下一层目录下
127    print (a)
128 
129    
130    a=os.getcwd()  ##查看当前路径(此函数是没有参数的)
131    print(a)
132    os.chdir("./huang/hyy")   ##更改工作目录
133    
134 2,目录的遍历
135     listdir()    
136     os.path.join(字符串1,字符串2)      ##字符串1一般是路径,字符串2一般是文件或目录名
137                                         ##会自动在两个参数间加"\"
138                                         ##返回带路径的字符串
139     
140     os.path.isdir(字符串)   ##字符串为带路径的文件名
141                             ##判断是否为目录,是返回Ture,否则返回False
142     os.walk(path)
143                         ##path为带有绝对路径的字符串
144                         ##返回一个元组,此元组有三个元素
145                         (绝对路径,[目录列表],[文件列表])
146 
147 ##说明:如果是WINDOWS下,则路径字符串需要如下方式:即加要“\”
148     C:\\Users\\Administrator\\Desktop\\22
149 
150 遍历例子1:
151     def dirlist (path):
152     a=os.listdir(path)           ##列出path路径下的所有文件和文件名
153     for i in a:
154         i=os.path.join(path,i)   ##拼接成绝对路径
155         if os.path.isdir(i):      ##遍历文件和目录
156             print ("#####%s",i)   ##是目录则递归
157             dirlist(i)
158         else:
159             print (i)   ##非目录则打印出来
160     else:
161         pass
162 
163 path="C:\\Users\\Administrator\\Desktop\\huang"
164 ##path=r"C:\Users\Administrator\Desktop\huang"       ##前面使用r表示里面的字符保留本意
165 dirlist(path)
166   
167 3,判断本地的文件是否存在
168 
169     os.path.exists(带路径文件名)
170     os.path.exists("./1.txt")

猜你喜欢

转载自www.cnblogs.com/2mei/p/9254204.html