序文
Pythonでファイルを読み書きすることは非常に便利でもあり、この章では、リーディング、ライティング、リーディング、ライティングや他の一般的な操作についてお話します。必要なパラメータ講師以下:
1、ファイルパス:ファイルへのパス、またはどのように読み取り、書き込みを知っている必要がありますか?
2、コード:UTF-8、GBK、GB2312 ...(のpython3 STRのは、エンコードされたUnicodeに格納され、我々一般的に使用UTF-8存在するが、簡単に文字化け符号化された言葉を理解していません)
図3に示すように、動作モード:読み取り専用、書き込み専用、追記、書き込み、読み取り、書き込み。
「R」のオープンリーディング(デフォルト)
「W」は書き込み用に開かれている、最初の切り捨てファイル
新しいファイルを作成し、書き込みのためにそれを開くには、「X」
「A」は、ファイルが存在する場合、それはファイルの最後に追加され、オープンに書き込まれます
「B」バイナリモード
「T」テキストモード(デフォルト)
「+」ディスクファイルを開くためには、更新された(読み書き)
「U」ユニバーサル改行モード(非推奨)
まず、読み取り専用
1、R:読書のSTR方法、エンコード:UTF-8は、バイト - 「STR(str内のpython3に当社の文書)
#。。1、R&LT:STRモード、コード読み取り:UTFを8- #バイト- "STR F =オープン(' 1.TXT '、' R&LT 'コード、= " 。UTF-8 " ) C = f.read() プリント(C) f.close()
2、RB:読み取りモード、非テキストファイルをバイト。私たちは21のバイトに変換しているので、私は、[ファイル]はカザフスタンが7つの文字、3バイト文字で見ることができ、各\を分離しました。
#2、RB:非テキストファイル、読み取りモードをバイト F =オープン(' 1.TXT '、' RBを' ) C = f.read() プリント(C) f.close()
第二に、書き込み専用
1、W:書き込み、何のファイルが新しく作成されていない、このファイルが書き込みにソースファイルがクリアされますがあります。
#1、W:書き込み、何のファイルが作成されていない、このファイルはソースファイルの書き込みをクリアします F =オープン(「ログイン」、「Wを」エンコード= 「UTF-8 」) f.write(' ABC小龙ABC ' ) f.close()
2、WB:.encodeを追加するがWB必要( "UTF-8")の書き込みバイナリ、
# 2、wb:写入,没有此文件是创建,有此文件会清空源文件再写 f = open('log1', 'wb') f.write('abc小龙abc'.encode("utf-8")) # 以utf-8编码格式,写入东西 f.close()
3、a:追加写入
# 3、a:追加写入 f = open('log1', 'a', encoding="utf-8") f.write('abc小龙abc') f.close()
三、读写
1、r+ 先读再写,推荐该 r+ 方式。
# 1、先读再写,写了不能再读 f = open('log', 'r+', encoding="utf-8") f.seek(0) print(f.read()) f.write('小哥哥谈恋爱吗?我偷老公的钱养你') f.close()
2、先写再读,推荐该 r+ 方式。
# 2、先写再读,不推荐 f = open('log', 'r+', encoding="utf-8") f.write('小哥哥谈恋爱吗?我偷老公的钱养你') print(f.read()) f.close()
当然模式可以组合,如r+b,a+b等。
四、常用操作
1、seek 指定光标
f = open("log", "r+", encoding="utf-8") a = f.read() # 默认读全部 print(a) f.seek(6) # 按照字节指定光标开始读位置 c = f.read(6) # 指定读 N 个字符 print(c) f.close()
2、追加 小龙女,调节光标获取后面的9个字节
# 追加 小龙女,调节光标获取后面的9个字节 f = open("log", "a+", encoding="utf-8") f.write('小龙女') count = f.tell() # 查看光标的位置 f.seek(count-9) # 按照字节指定光标开始读位置 c = f.read() print(c) f.close()
3、readline、readlines的使用
f = open("log", "a+", encoding="utf-8") f.seek(0) # c = f.readline() # 一行一行读 d = f.readlines() # 每行当成一个列表,添加到list中 # print(c) print(d) f.close()
4、推荐:with, 不用 close 关闭,也可读多个
# 推荐:with 不用 close 关闭,可读多个 a = open('log', "r+", encoding="utf-8") b = open('log', "r+", encoding="utf-8") with a as f, b as f1: print(f.read()) print(f1.read())
欢迎来QQ交流群:482713805