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")
18 python文件、目录操作
猜你喜欢
转载自www.cnblogs.com/2mei/p/9254204.html
今日推荐
周排行