【Python】正規表現でファイル拡張子に一致させる方法
正規表現を使うと、ファイル名の中から特定の拡張子を簡単に抽出できます。以下のコードでは、re.search() を使って、指定されたファイル名が .doc という拡張子で終わっているかどうかを判定しています。
例
import re
result = re.search('.doc$', '87654_3.doc')
print(result.group())出力
このコードを実行すると、次の出力が得られます。
.doc
解説
パターン内の $ は「文字列の末尾」を意味するアンカー(メタ文字)です。これにより、ファイル名の途中に含まれる .doc ではなく、名前の最後に付いた拡張子だけが確実に一致します。
また、group() メソッドは、実際に一致した文字列そのものを返します。なお、.doc$ のようにドットをそのまま使うと、正規表現では任意の一文字にもマッチするため、より厳密にしたい場合は \.doc$ のようにエスケープするのが安全です。
-
Pythonでファイルディスクリプタ(fd)のデータをディスクに強制的に書き込む方法
ファイルディスクリプタ fd に関連付けられたファイルの内容をディスクに強制的に書き込むには、os.fsync(fd) 関数を使用します。この関数は、バッファ内のデータを確実に物理ディスクへ反映させたい場合に役立ちます。 また、os.fdatasync(fd) を使う方法もあります。この関数もファイルディスクリプタ fd のデータをディスクに強制書き込みしますが、メタデータ(更新日時など)の更新までは強制しません。その分、処理が高速になることがあります。ただし、fdatasync() は Unix 系システムでのみ利用可能である点に注意してください。 よりクロスプラットフォームな解決策としては
-
Pythonでファイルに書き込むには?writeモードでのファイル操作を解説
Pythonでファイルにデータを書き込むには、open()関数の第2引数に書き込みモード w を指定します。ここでは、基本的な使い方と、より安全な書き方を紹介します。基本の書き方:open()とclose()を使う最もシンプルな方法は、w モードでファイルを開き、write() メソッドで文字列を書き込んだ後、close() でファイルを閉じることです。f = open(my_file.txt, w) f.write(Hello World) f.close()このコードを実行すると、my_file.txt が書き込みモードで開かれ、ファイルの内容が「Hello World」で上書きされます。