# for s in l: # ss = s.strip() # strip() 去掉空格. 还可以去掉换行符, 制表符 # print(ss) # print(l) # f.flush() # f.close() # s = "\t哈哈哈哈" # print(s.strip()) # truncate() f = open("马大帅", mode="r+", encoding="utf-8") f.seek(12) # f.truncate() # truncate() 不给参数. 从文件头.截取到当前位置 f.truncate(15) # truncate(参数) 给了参数. 从文件头截取到你给这个参数的位置 f.flush() f.close()
import os with open("吃的", mode="r", encoding="utf-8") as f1, \ open("吃的_副本", mode="w", encoding="utf-8") as f2: # s = f1.read() # ss = s.replace("肉", "菜") # f2.write(ss) for line in f1: s = line.replace("菜", "肉") f2.write(s) os.remove("吃的") # 删除文件 os.rename("吃的_副本", "吃的") # 重命名文件
f = open("亵渎", mode="w+", encoding="utf-8") # w 操作.会清空原来的内容. w+是不用的. f.write("今天天气") f.seek(0) s = f.read() print(s) f.flush() f.close()
# f = open("老师点名", mode="r+", encoding="utf-8") # r+模式, 默认情况下光标在文件的开头, 必须先读, 后写 # f.write("周润发") # s = f.read() # f.flush() # f.close() # print(s) # f = open("精品", mode="r+", encoding="utf-8") # s = f.read(3) # # 不管你前面读了几个. 后面去写都是在末尾 # # f.write("哈哈") # 1.在没有任何操作之前进行写. 在开头写 2. 如果读取了一些内容. 再写, 写入的是最后 # # # print(ss) f = open("精品", mode="r+", encoding="utf-8") # f.read(3) # f.seek(3) # 移动到xx位置 # 移动到开头: f.seek(0) 开头 # 移动到末尾: f.seek(0, 2) 末尾 第二个参数有三个值. 0: 再开头, 1: 在当前, 2: 末尾 #超人的都是精品.abcdefg潘长江是精品巴拉巴拉小魔仙哈哈 # f.seek(6) # 移动6个字节. 2个字 # s = f.read(3) # 读取3个字 # print(s) # f.seek(0) # ss = f.read(3) # print(ss) # s = f.read() # f.seek(0) # ss= f.read() # print(s) # print(ss)
f = open("小护士模特",mode="wb") # 读取的内容直接就是字节 f.write("你不好".encode("utf-8")) f.close() # w, r, a === wb, rb, ab b: 处理的是非文本
f = open("小护士模特",mode="rb") # 读取的内容直接就是字节 bs = f.read() print(bs.decode("utf-8")) # 需要解码 f.close()
f = open("小护士模特", mode="a", encoding="utf-8") # 在原来的基础上进行追加内容. f.write("小龙女") f.flush() f.close()
f = open("小护士模特", mode="w", encoding="utf-8") # 写入之前会情掉原来的内容 f.write("杜十娘") f.flush() f.close()
# 路径有两种: # 1. 相对路径, 相对于你当前程序所在的文件夹.(必须掌握) # ../ 返回上一层目录 # 相对的是当前程序所在的文件夹 # 2. 绝对路径. 1.从磁盘根目录寻找. 2.互联网上的一个绝对路路径 # f = open("file/wuse", mode="r", encoding="utf-8") # s = f.read() # f.close() # 关闭句柄 # print(s) # f = open("吃的", mode="r", encoding="utf-8") # for line in f: # 每次读取一行. 赋值给前面的line变量 # print(line) # f.close()
# 2. 冒泡排序 # a = 10 # b = 20 # a, b = b, a # lst = [88,5,8,6,1,23] # for a in range(len(lst)): # 记录内部排序的次数 # i = 0 # while i < len(lst) - 1: # 把最大值移动到右端 # if lst[i] > lst[i+1]: # 比较, # lst[i], lst[i+1] = lst[i+1], lst[i] # 交换 # i = i + 1 # print(lst) # c的思想 # x = a # a = b # b = x # print(a, b)
文件操作:
1. r(只读)
2. w(只写)
3. a(追加)
4. r+(读写)
读写模式.
需要移动光标进行反复读写
5. w+(写读)
6. a+(读追加)
7. b bytes(字节) 读写操作的是字节. 用在非文本上
8. seek() 移动光标到xx位置
开头: seek(0), 末尾: seek(0,2)
9. 文件修改
创建新文件. 把修改后的内容写入新文件. 删除老文件. 重命名新文件
import os
os.remove("")删除文件
os.rename("源文件", "新文件名") 重命名文件
for line in f:
line 一行数据
with open("文件名") as f:
不需要关闭文件句柄
浙公网安备 33010602011771号