python_ファイル処理


1つ、文字エンコード

  1. メモリは** unicode **エンコーディングを使用して修正されます
  2. データは最初に** unicode **形式でメモリに生成されます。転送する場合は、バイト形式に変換する必要があります。

# unicode -------> enconde( u t f - 8 ) -------> bytes

バイトを取得し、ファイルに保存したり、ネットワーク経由で転送したりできます

# bytes --------> enconde( u t f - 8 ) -------> unicode

  1. 文字列はPython3ではユニコードとして認識されます

Python3の文字列エンコードはバイトを取得します

Python2の文字列はバイトです

Python 2は、文字列の前に「** u **」を追加します。これはユニコードです

2.ファイル処理

プロセス:ファイルを開く===>ファイルハンドルを取得して変数に割り当てる====>ハンドルを介してファイルを操作する==>ファイルを閉じる

ファイルを読む:

1 f =open( ‘aaaa.py ’ , ‘ r ’ ,encoding = ‘utf-8’ )23print( f.readline(),end= ‘’)#行を読む
 45 print( f.readlines(), end=’’ )#すべて読む、改行なし
 67 print( f.readable())#読み取り可能なファイル
 89 print( f.writable())#書き込み不可能なファイル
1011 f.close()#終了後に閉じる必要があります。そうしないと、メモリを占有します。

ファイルの書き込み:

f =open( ‘new_2’, ‘w’,encoding=’utf-8’ )print( f.readable())#読めない

print( f.writable())#書き込み可能

f.write( ‘888888\n’ )#1行追加

f.write( ‘999999\n’ )#追加

f.writelines([ ‘787878\n’ , ‘878787\n’])#複数行追加

f.close()#ファイルを閉じる

追加:

f=open('new_2','a',encoding='utf-8')print(f.readable())        #読めない

print(f.writable())         #書き込み可能

f.write('888888\n')       #1行追加

f.write('999999\n')

f.writelines(['787878\n','878787\n'])       #複数行追加

f.close()

# rb

f=open('aaaa.py','rb')    #バイト単位で開く

print(f.read().decode('utf-8'))

写真のコピー:

f=open('1.jpg','rb')      #rbの方法で1を開く.JPG

data=f.read()           #データはコンテンツをfに読み取ります

print(data)

f2=open('3.jpg','wb')      #書き込みとして開く

f2.write(data)         #データの内容をf2に書き込む

f2.close()

f.close()

# ab、バイナリ形式で追加

f=open('new_3.txt','ab')

f.write('aaaaa\n'.encode('utf-8'))
withopen('aaaa.py','r',encoding='utf-8')as read_f,\

  open('aaaa_new.py','w',encoding='utf-8')as write_f:

 data=read_f.read()

 write_f.write(data)

ファイルの各行をループで取得します。

withopen('a.txt','r',encoding='utf-8')as f:while True:

  line=f.readline()if not line:breakprint(line,end='')

 
 lines=f.readlines() #小さなファイルの場合のみ

 print(lines)
 

 data=f.read()print(type(data))for line in f: #推奨用途

  print(line,end='')

ファイルの変更:

方法1:小さなファイルにのみ適用可能

1 import os
 23 withopen('a.txt','r',encoding='utf-8')as read_f,\
 45 open('a.txt.swap','w',encoding='utf-8')as write_f:67     data=read_f.read()89     write_f.write(data.replace('alex_SB','alex_BSB'))10111213 os.remove('a.txt')1415 os.rename('a.txt.swap','a.txt')

# 方法2:

import os

withopen('a.txt','r',encoding='utf-8')as read_f,\

  open('a.txt.swap','w',encoding='utf-8')as write_f:for line in read_f:

  write_f.write(line.replace('alex_BSB','BB_alex_SB'))

 

os.remove('a.txt')

os.rename('a.txt.swap','a.txt')

ファイル機能操作紹介

機能 説明
file.read([size]) ファイルのすべての内容を読み取る
file.readline([size]) 行ごとに読み取る
file.readlines([size]) リスト内の要素として読み取られるすべての行
file.write(str) ファイルに文字列を書き込む
file.writelines(シーケンスまたは文字列) ファイルに複数の行を書き込みます。パラメーターは反復可能なオブジェクト/リスト/タプルにすることができます...
file.close() 開いているファイルを閉じる
file.fileno(self) ファイル記述子
file.flush(self) バッファの内容をハードディスクにフラッシュします
file.isatty(self) ファイルがttyデバイスであるかどうかを判断し、ttyデバイスの場合はTrueを返します
file.readable(self) 読み取り可能かどうかを判断し、読み取り可能な場合はTrueを返し、そうでない場合はFalseを返します
file.readline(self、limit = -1) 一度に1行のデータのみを読み取ります
file.readlines(self、hint = -1) コンテンツの各行をリストの要素として取得します
file.tell(self) ポインタ位置を取得
file.seek(self、offset、whence = io.SEEK_SET) ファイル内のポインターの位置を指定します
file.seekable(self) ポインタは操作可能ですか
file.writable(self) 書き込み可能かどうか
file.writlines(self、lines) ファイルに書き込まれる文字列のシーケンス。シーケンスは任意の反復オブジェクト文字列にすることができます
file.read(self、n = None) 指定されたバイトデータを読み取り、パラメータを追加せずにデフォルトですべてを読み取ります
file.write(self、s) コンテンツをファイルに書き込む

Recommended Posts

python_ファイル処理
Pythonファイル操作
「Pythonハンズオンラーニング」Python処理.matファイル
Python処理jsonの概要
Python日時処理時間の概要
画像処理PILに関するPython
PythonはTCPファイル転送を実装します
Pythonトルネードアップロードファイル機能
クイックスタートPythonファイル操作
Pythonファイルの読み取りおよび書き込み操作
python設定ファイルの書き方
Pythonファイル操作の基本的なプロセス分析
PythonPILライブラリの画像のグレー化処理
PDFおよびCDFの例を処理するPython
Pythonはftpファイル転送機能を実装しています
Pythonがファイルディレクトリでどのように動作するか
Pythonマルチスレッド
Python CookBook
Python FAQ
Python3辞書
Python3モジュール
python(you-get)
Python文字列
Pythonの基本
Python記述子
Python exec
Pythonはファイル名のバッチ変更を実現します
Pythonノート
CentOS + Python3.6 +
Python Advanced(1)
Pythonデコレータ
Python IO
Pythonマルチスレッド
Python3リスト
Pythonマルチタスク-日常
Pythonの概要
pythonの紹介
Pythonアナリティック
Pythonの基本
07.Python3関数
Pythonの基本3
Pythonマルチタスクスレッド
Python関数
python sys.stdout
python演算子
Pythonエントリ-3
Centos 7.5 python3.6
Python文字列
Pythonファイルとディレクトリの操作コードの概要
pythonキューキュー
Pythonの基本4
Pythonの基本5
pythonを使用してhostsファイルを切り替える方法
Pythonメモリマップファイルの読み取りおよび書き込みメソッド
pythonファイルの読み取りエラーに対処する方法