1.找到文件,双击打开它:
open(文件路径, mode = “”, encoding=””)
(1)文件路径
a.绝对路径
D:/test/xxx.txt
b.相对路径
和程序在同一个文件夹内 open("新建文本文档.txt")
不在同一个文件夹open("../新文件夹/黄金屋.txt") (../指跳出所在文件夹)
open("新建文本文档.txt")
open("../新文件夹/黄金屋.txt")
f = open("../新文件夹/黄金屋.txt",mode = "r", encoding = "utf-8")#f即通道
content = f.read()
line1 = f.readline()
line2 = f.readline().strip()
line3 = f.readline().strip()
print(content)
print("—————以上是print(content)的内容—————")
print(line1) #因为内容已经被content = f.read()读完了,剩下没有文字可读
print(line2)
print(line3)
开卷有益
书中自有黄金屋
书中自有颜如玉——————以上是print(content)的内容——————
open("新建文本文档.txt")
open("../新文件夹/黄金屋.txt")
f = open("../新文件夹/黄金屋.txt",mode = "r", encoding = "utf-8")#f即通道
line1 = f.readline()
line2 = f.readline().strip()#去掉字符串两边的空格、空白、换行、制表符
line3 = f.readline().strip()
print(line1)
print(line2)
print(line3)
开卷有益
书中自有黄金屋
书中自有颜如玉
With
with open ("新建文本文档.txt", mode = "r", encoding= "utf-8") as f:
#以下在文件打开的条件下执行,所以省略了f.close()
for line in f:
print(line.strip())
#如果再f.read()就会报错,因为文件还没打开
(2)Mode
r (read)
f = open("../新文件夹/黄金屋.txt",mode = "r", encoding = "utf-8")#f即通道
for line in f:#从f中拿到1行
print(line.strip())
开卷有益
书中自有黄金屋
书中自有颜如玉
w (write)
在w模式下: 如果打开的文件不存在,会自动创建一个文件;
为了确保文件的内容是空的,如果文件内容非空,会强制清空
f = open("新建文本文档.txt", mode = "w", encoding= "utf-8")
f.write("good luck!")
good luck!
lst = ['jia', 'yi', 'bing', 'ding']
f = open("新建文本文档.txt", mode = "w", encoding = "utf-8")
for item in lst:
f.write(item)
f.write("\n")
f.close()
jia
yi
bing
ding
a (append)
f = open ("新建文本文档.txt", mode = "a", encoding= "utf-8")
f.write("你好厉害")
f.close()
在上一个代码的结果后加上了: 你好厉害
jia
yi
bing
ding
你好厉害
b 读写的是非文本文件
#\ 是拼接符号(将下一行视作本行
with open("download.jpg", mode = "rb" ) as f1, \
open("../新文件夹/坦克会战.jpg", mode = "wb") as f2:
for line in f1:
f2.write(line)