ファイル操作のpython-14-

序文

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

おすすめ

転載: www.cnblogs.com/gsxl/p/11966383.html