Day8

Posted a352735549

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Day8相关的知识,希望对你有一定的参考价值。

文件操作

参数:1,、文件路径

    2、编码方式。encode

    3、执行动作(打开方式):只读,只写,追加,读写,写读。。。

    读:

      ****r  只读

      1、文件以什么编码方式存储的,就以什么编码方式打开

        #编码不一致时:unicodeDecodeerror:‘utf-8’ codec can‘t decode byte 0xb7 in position 0: invalid start byte

      2、文件路径

        绝对路径:从根目录开始,一级一级查找直到找到文件。D:\t1.txt

        相对路径:在同一个文件夹下,直接写文件名即可

        /U//UU

        #‘c:\log.txt‘

          第一种:r‘C:\log.txt‘

          第二种:C:\\log.txt

            as.txt

******五种方式:

#1:全部读出来f.read()

         f= open(‘log‘,encoding=‘utf-8‘)

        content = f.read()

        print(content,type(content))

        f.close()

#2:一行一行的读

        f = open(‘log‘,encoding=‘utf-8‘)

        print(f.readline())

        print(f.readline())

        print(f.readline())

        print(f.readline())

        f.close()

#3:将原文件的每一行作为一个列表的元素

        f = open(‘log‘,encoding=‘utf-8‘)

        print(f.readlines())

        f.close()

#4:读取一部分read(n)

        在r模式下,read(n)按照字符去读取

        在rb模式下,read(n)按照字节去读取

        

f=open(log,encoding=utf-8)
print(f.read(3))
f.close()
f= open(log,mode=rb)
content=f.read(4)
print(content)
f.close()

#5:循环读取

f=open(log,encoding=utf-8)
for i in f:
    print(i.strip())
f.close()

#非文字类的文件时,用rb 只读,以bytes类型读取

f=open(log1,mode=rb)
content=f.read()
print(content)
f.close()

#r+ 先读,后追加 一定要先读后写

f= open(log,encoding=utf-8,mode=r+)
content = f.read()
print(content)
f.write(aaa)
f.close()

 

#没有文件 创建一个文件写入内容   w

f=open(‘log2‘,encoding=‘utf-8‘,mode=‘w‘)

f.write(‘安师大会山东矿机哈四大皆空干啥风格‘)

f.close()

#有文件,将原文件内容清空,在写入内容

f= open(‘log1‘,encoding=‘utf-8‘,mode=‘w‘)

f.write(‘666‘)

f.close()

#wb

f = open(log,mode=wb)
f.write(老男孩教育.encode(utf-8))
f.close()

#w+ 先写后读

f = open(log,encoding=utf-8,mode=w+)
f.write(中国)
print(f.tell())  #按字节去读光标位置
f.seek(3)  #按照字节调整光标位置
print(f.read())
f.close()

#w+b

 

#a+ 追加读

f=open(log,encoding=utf-8,mode=a+)
f.write(BBB)
content= f.read()
print(content)
f.close()

#a+b

 

#其他方法

f= open(log,encoding=utf-8)
print(f.read())
print(f.writable())
f.close()
f = open(log,encoding=utf-8,mode=a)
f.truncate(7) # 按字节对原文件截取
f.close()
#功能一:自动关闭文件句柄。
#功能二:一次性操作多个文件句柄。
with open(log,encoding=utf-8) as f:
    print(f.read())
with open(log1,encoding=utf-8) as f1:
    print(f1.read())
with open(log,encoding=utf-8) as f1,    open(log1,encoding=utf-8) as f2:
    print(f1.read())
    print(f2.read())
# 1,将原文件读取到内存。
# 2,在内存中进行修改,形成新的内容。
# 3,将新的字符串写入新文件。
# 4,将原文件删除。
# 5,将新文件重命名成原文件。
import os
with open(log,encoding=utf-8) as f1,    open(log.bak,encoding=utf-8,mode=w) as f2:
    content = f1.read()
    new_content = content.replace(alex,SB)
    f2.write(new_content)
os.remove(log)
os.rename(log.bak,log)
import os
with open(log,encoding=utf-8) as f1,    open(log.bak,encoding=utf-8,mode=w) as f2:
    for i in f1:
        new_i = i.replace(SB,alex)
        f2.write(new_i)
os.remove(log)
os.rename(log.bak,log)

 写:

*w

#没有文件,创建一个文件写入内容
# f = open(‘log1‘,encoding=‘utf-8‘,mode=‘w‘)
# f.write(‘儿科王金发;剪短发了肯定撒就废了;就‘)
# f.close()
#有文件,将原文件内容清空,在写入内容。
# f = open(‘log1‘,encoding=‘utf-8‘,mode=‘w‘)
# f.write(‘666‘)
# f.close()
wb
# wb
# f = open(‘log‘,mode=‘wb‘)
# f.write(‘老男孩教育‘.encode(‘utf-8‘))
# f.close()
w+
w+b

追加:*a

ab

a+
a+b

操作方法:
read
read(n)
readline()
readlines()
tell
seek
truncate
writable()
readable()

以上是关于Day8的主要内容,如果未能解决你的问题,请参考以下文章

day8

day8 异常处理

python全栈开发-Day8 函数基础

基础DAY8-继承

python模块 - day8

day8-------socket网络编程