文件操作


r 只读模式  ,   w 只写模式  ,   a 追加写模式   ,   r+ 读写模式(重点)   ,    w+ 写读模式(不常用)   ,  a+ 追加读写模式(不常用)   ,   文件的常用操作   ,   修改文件内容

read 只读(用"r"表示)

# f 叫文件句柄. 我们通过这个句柄去操纵这个文件.

用法

f.open("文件名",mode="r",encoding="utf-8")

content=f.read

print (content)
绝对路径,从电脑根目录进行查找,此处是从d盘
f=open("d:/day01/first.py",mode="r",encoding="UTF-8")
content=f.read()
print (content)

readline的用法,分行读出来(readline ,只能一行一行的读)
#
中国 # 美国 # 俄罗斯 # 孟加拉 # 法国 f=open("弄啥呢.py",mode="r",encoding="UTF-8") content1=f.readline().strip() content2=f.readline().strip() print (content1) print (content2) 结果:中国 美国





readlines用法 , (能一次读多行)
f=open("t1.txt.py",mode="r",encoding="utf-8")
lst=f.readlines()
for line in lst:
print (line)
 

 

 

write只写 (用"w"表示)

用法

f=open("文件名",mode="w",encoding="utf-8")
f.write("写入内容")
f.colse()    #结束

 

a 追加写模式

f=open("888.py",mode="a",encoding="utf-8")
f.write("信不信由你,反正我信了。")
f.close()

r+读写模式(重点)

先读出来,然后再写进去
f=open("888.py",mode="r+",encoding="utf-8")
content=f.read()
print (content)
f.write("成都")

r+里面还要注意光标

注意光标的位置
f = open("888.py", mode="r+", encoding="UTF-8") f.seek(6) # 移动的是字节单位,在UTF-8文件中. 如果是中文移动的必须是3的倍数 f.write("广德")




f = open("888.py", mode="r+", encoding="UTF-8")
# 把"葫芦娃" 写到结尾. 然后把所有内容读取出来
# 先把光标移动到结尾.
f.seek(0, 2) # 移动到结尾0,2
# 写入内容
f.write("葫芦娃")
# 把光标移动到开头
# f.seek(0) 把光标移动到最前面用0
# 读取内容
content = f.read()
print(content)







f = open("888.py", mode="r+", encoding="UTF-8")
f.seek(15)
# f.truncate() # 如果没有参数. 根据光标当时所在的位置. 保留光标前面的内容.后面的内容删除
f.truncate(5) # 如果给了参数. 会把文件从头到参数之间的内容保留.其他的全部删掉
f.flush()
f.close()

 

文件修改

import os
with open("888.py", mode="r", encoding="UTF-8") as f1,\
    open("888new.py", mode="w", encoding="UTF-8") as f2:
    for line in f1:
        line = line.replace("冰糖葫芦", "大白梨")
        f2.write(line)

os.remove("888.py")
os.rename("888new.py", "888.py")

 

posted @ 2018-06-08 16:45  惊世风情  阅读(138)  评论(0编辑  收藏  举报