Python-Day10

文件操作

一、打开文件

文件句柄 = open('文件路径', '模式')

打开文件时,需要指定文件路径和以何等方式打开文件,打开后,即可获取该文件句柄,日后通过此文件句柄对该文件操作。

打开文件的模式有:基本的方式 encoding='utf-8' ----> 字符串类型

r ,只读模式【默认】
# 只读 'r'
f = open('x.log', 'r', encoding='utf-8')
r = f.read()
# f.write('hahah') 报错
f.close()
print(r)
w,只写模式【不可读;不存在则创建;存在则清空内容;】
f = open('x1.log', 'w')
f.write('hahah')
f.close()
x, 只写模式【不可读;不存在则创建,存在则报错】
f = open('x3.log', 'x')
f.write('hahah')
f.close()
a, 追加模式【不可读;不存在则创建;存在则只追加内容;】
f = open('x3.log', 'a')
f.write('hahahqqqqqqqqqqqqqqqqq')
f.close()

"+" 表示可以同时读写某个文件

r+, 读写【可读,可写】
w+,写读【可读,可写】
x+ ,写读【可读,可写】
a+, 写读【可读,可写】

"b"表示以字节的方式操作 -----> 字节类型

rb 或 r+b
f = open('x.log', 'rb')
r = f.read()
f.close()
print(r, type(r))
print(str(r, encoding='utf-8'))
wb 或 w+b
f = open('x.log', 'wb')
f.write(bytes('buzhidao你好xingbuxing', encoding='utf-8'))
f.close()
xb 或 x+b
ab 或 a+b

注:以b方式打开时,读取到的内容是字节类型,写入时也需要提供字节类型


文件操作与指针

f.seek(num) 改变指针到num字节处,然后从num处读写

f.tell() 获取当前指针的位置

写操作完成后指针指向最后位置,再读的话读不出内容出来

r 模式会将指针放在文件开始位置处,w 会清空文件然后把指针放在文件开始处, a 模式会将指针指向文件结尾处


f.readline()会读取一行内容

for line in f:
    print(line)
#该操作会一次读取一行内容

自动关闭文件:

with open('h.log', 'w+') as f:
    f.write('hahahah')
    f.seek(0)
    r = f.read()
    print(r)

with 可以同时操作两个文件:

with open('h.log', 'r') as f, open('h2.log', 'w') as f2:
    for line in f:
        f2.write(line)
#复制操作
posted @ 2017-03-28 20:44  云中王  阅读(172)  评论(0编辑  收藏  举报