退屈なことはPythonにやらせよう 第2版 読んでみた⑨
前回
最近読むの飽きてはや1−2ヶ月くらい。
9章なのにまだ半分も読めてない。分厚すぎんだよこの本。
今回は「ファイルの読み書き」
pathlib
ググってコードを書いている身からするとパスの管理はos.pathで行っていたのだが、どうやらPython3.6からPathlibに標準ライブラリとして導入されているらしい。
from pathlib import Path
import os
Path.cwd() #カレントディレクトリの取得
os.chdir() #カレントディレクトリの変更
Path.home() #ホームディレクトリの取得
os.makedirs() #新規ディレクトリの作成
Path.cwd().is_absolute() #取得したパスが絶対パスかどうか
コマンドラインでいうところの
Path.cwd()=pwd
os.chdir()=cd
os.makedirs()=mkdir
的な感じなのだろうか。
パス操作
g.glob()は特定の条件のパスを取得できる。
ただし返すのはジェネレーターオブジェクトなので、中身を表示するにはlist()に渡さないといけない。
p = Path('ファイル名')
list(p.glob('*')) #ファイル内のディレクトリ、ファイルの一覧のリストを取得
list(p.glob('*.txt')) #ファイル内のtxtファイルの一覧のリストを取得
ファイル操作
path関数で行う方法
p = Path("テキストファイル名.txt")
p.write_text("Hello, World!")
ただ、複雑な操作はできないので、基本的にはopen関数を使う
spam = open("spam.txt", 'w') #'w'で書き込みモード
spam.write("Hello, world!")
spam.close()
spam = open("spam.txt") #デフォルトは読み込みモード
spam_r = spam.read()
print(spam_r)
#Hello, world!
これで、テキストファイルを読み込んだり、書き込んだりできた。
さらにpythonデータをファイルに保存する場合はshelveモジュールを使えば変数ごと保存することができる。
次回は「ファイル管理」