f = open(r"d:odd.txt", "a", encoding="utf-8") # 加上r表示字符串不被转义
f.write("打开文件进行读写操作n")
f.close() # 注意要关闭I/O资源
with open("a.txt", "a", encoding="utf-8") as f: # 注意编码与解码必须用同一种格式
f.write("使用with进行上下文管理n")
2.读写_代码示例
with open("a.txt", "r", encoding="utf-8") as f: # 读取一个文件前 4个字符
print(f.readline(4)) # 输出:使用wi
with open("a.txt", "r", encoding="utf-8") as f: # 一次将文件内容读入到程序中
print(f.read()) # 输出:使用with进行上下文管理
with open("a.txt", "r", encoding="utf-8") as f: # 按行读取一个文件
while True:
flg = f.readline()
if flg:
print(flg, end="") # 输出:使用with进行上下文管理
else:
break
with open(r"d:/odd.txt", "r", encoding="utf-8") as f:
for a in f: # 使用迭代器(每次返回一行)读取文本文件
print(a)
3.enumerate_代码示例
with open("a.txt", "r", encoding="utf-8") as f:
lines = f.readlines() # lines存储:['使用with进行上下文管理n', '使用with进行上下文管理n']
lines = [line.rstrip() + "#" +str(index+1) + "n"
for index,line in enumerate(lines)] # 推导式生成列表, 是重要方法
print(lines)
with open("a.txt", "a", encoding="utf-8") as f:
f.writelines(lines) # 使用with进行上下文管理#1, 使用with进行上下文管理#2
4.二进制读写_代码示例
with open("picture.jpg", "rb") as f: # 二进制流文件的读写操作
with open("new.jpg", "wb") as w:
for line in f.readlines():
w.write(line)
print("图片拷贝完成")
5.文件属性_代码示例
with open("a.txt", "r", encoding="utf-8") as f:
print("文件名:{0}".format(f.name))
print(f.tell())
print("读取内容:{0}".format(f.readline())) # 输出:使用with进行上下文管理
print(f.tell())
f.seek(7) #注意utf-8 中文占3个字符,英文占1个字符
print("指定位置读取内容:{0}".format(f.readline())) # 输出: ith进行上下文管理
6.pickle序列化_代码示例
import pickle
with open(r"d:/odd.txt", "wb") as f: # 序列化是将对象转化成“串行化”数据形式
a1 = "好好学习"
a2 = 123456
a3 = [10, 20, 30]
pickle.dump(a1, f)
pickle.dump(a2, f)
pickle.dump(a3, f)
with open(r"d:/odd.txt", "rb") as f: # 反序列化是将读取到的“串行化数据”转化成对象。
a1 = pickle.load(f)
a2 = pickle.load(f)
a3 = pickle.load(f)
print(a1, a2, a3) # 输出:好好学习 123456 [10, 20, 30]
7.csv_代码示例
import csv # csv(Comma Separated Values)是逗号分隔符文本格式
with open("odd.csv", "w") as f:
wr = csv.writer(f)
wr.writerow(["ID", "姓名", "年龄"])
wr.writerow(["1001", "bluski", 17])
wr.writerow(["1002", "ski", 18])
a = [["1003", "blu", 19], ["1004", "bs", 20]]
wr.writerows(a)
with open("odd.csv", "r") as f:
for row in f:
print(row)
8.os_代码示例
import os
os.system("notepad.exe") # os.system 调用 windows 系统的记事本程序
os.system("ping www.baidu.com") # os.system 调用 windows
os.startfile(r"E:应用软件微信WeChatwechat.exe") # 运行安装好的微信
9.文件目录_代码示例
import os
#获取文件和文件夹相关的信息
print(os.name) # windows->nt, linux和unix->posix
print(os.sep) # 路径分隔符windows->, linux 和 unix->/
print(repr(os.linesep)) # 字符串给出当前平台使用的行终止符
print(os.stat("Demo09_os_model.py")) # 返回文件的所有属性
#关于工作目录的操作
print(os.getcwd()) # 返回当前工作目录:current work
os.chdir("d:") #改变当前的工作目录为:d:盘根目录
#创建目录、创建多级目录、删除
os.mkdir("书籍") # 创建目录, 相对路径都是相对于当前的工作目录
os.rmdir("书籍") # 删除目录
os.makedirs("电影/港台/电视") # 创建多级目录
os.removedirs("电影/港台/电视") # #只能删除空目录
os.makedirs("../电影/港台/电视") #../指的是上一级目录
os.rename("../电影", "../movie") # 给目录重命名
os.removedirs("../movie/港台/电视")
dirs = os.listdir("../电影") # 列出子目录所有文件
print(dirs)
10.编码统一问题视图
11.编码格式分类视图
12.文件读写表示符号视截图



