-
【Python入門】ファイル読み込み中の現在の行番号を取得する2つの方法
Pythonで現在の行番号を取得するには?Pythonの標準ファイルオブジェクトには、現在読み込んでいる行番号を直接取得する機能は備わっていません。しかし、工夫次第で簡単に実現できます。ここでは代表的な2つの方法を紹介します。方法1:ラッパークラスを作成するファイルオブジェクトを包み込む(ラップする)クラスを定義し、readline()が呼ばれるたびに行番号をカウントする方法です。__enter__と__exit__を実装しているため、with文とも組み合わせられます。class FileLineWrapper(object): def __init__(self, file):
-
Pythonでファイルの名前を変更する方法【os.renameとshutil.moveの使い方】
Pythonでファイル名を変更する基本の方法Pythonでファイルの名前を変更するには、標準ライブラリの os モジュールにある rename() メソッドを使うのが最も一般的な方法です。例えば、カレントディレクトリに a.txt というファイルがあり、これを b.txt にリネームしたい場合は、次のように記述します。os.rename() を使った例>>> import os>>> os.rename(a.txt, b.txt)このコードを実行すると、a.txt のファイル名が b.txt に変更されます。非常にシンプルで、単純なリネーム処理には最適です。
-
Pythonでディレクトリ内の複数ファイルの名前を一括変更するには?(os.renameとshutil.moveの使い方)
Pythonでディレクトリ内の複数のファイル名を変更したい場合、「現在のファイル名」と「新しいファイル名」の対応を辞書などで持っておけば、osモジュールのrename()メソッドを使って簡単に一括処理できます。 osモジュールのrename()を使う方法 import os for old, new in files.items(): # Python 2では iteritems() os.rename(old, new) os.rename(old, new)は、パスoldにあるファイルをnewという名前に変更します。なお、Windows環境では移動先に同名のファイルが存在すると
-
Pythonでファイルを削除する方法をわかりやすく解説
Pythonでファイルを削除する基本の方法 Pythonでは、標準ライブラリのosモジュールを使うことで、単一のファイルや空のフォルダ(ディレクトリ)を簡単に削除できます。外部ライブラリのインストールは不要で、import osと記述するだけですぐに利用できるのが魅力です。 os.remove() でファイルを削除する たとえば、カレントディレクトリにある my_file.txt というファイルを削除したい場合は、次のように記述します。 >>> import os >>> os.remove(my_file.txt) os.remove() の引数には、削
-
Pythonでディレクトリ内の複数のファイルを削除する方法
Pythonでは、osモジュールに用意されている関数を使うことで、単一のファイルや空のフォルダを簡単に削除できます。この記事では、1つのファイルの削除から、複数ファイルの一括削除、さらには正規表現を使ったパターンマッチングによる削除まで、具体的な方法を解説します。単一ファイルの削除まず、基本的な例として、my_file.txtというファイルを削除する場合は以下のように記述します。>>> import os >>> os.remove(my_file.txt)os.remove()の引数には、絶対パスまたは相対パスを指定します。指定したパスにファイルが存在しな
-
Pythonでディレクトリを作成する方法をわかりやすく解説
Pythonでディレクトリを作成する基本方法 Pythonでディレクトリ(フォルダ)を作成するには、まず os.path.exists() を使って、そのディレクトリがすでに存在するかどうかを確認します。存在しない場合のみ作成することで、エラーの発生を防ぐことができます。 import os if not os.path.exists(my_folder): os.makedirs(my_folder) os.makedirs() は、指定したパスの中間ディレクトリも必要に応じて自動的に作成してくれる便利な関数です。 EAFPスタイルでの書き方 Pythonでは「EAFP(Easi
-
Pythonでディレクトリが存在しない場合にディレクトリを作成する方法
os.path.exists()で存在確認をしてから作成する基本の方法 ディレクトリを作成する際は、まず os.path.exists() を使って対象のディレクトリがすでに存在するかどうかを確認します。存在しない場合のみ作成することで、エラーを回避できます。 import os if not os.path.exists(my_folder): os.makedirs(my_folder) この方法は直感的で分かりやすい反面、確認と作成の間に他のプロセスがディレクトリを作成してしまうと、まれに競合状態(レースコンディション)が発生する可能性があります。 EAFPスタイル:try-e
-
Pythonで再帰的にディレクトリを作成するには?os.makedirsの使い方を解説
再帰的にディレクトリを作成する方法 Pythonで、まだ存在しない親ディレクトリも含めてまとめてフォルダを作成したい場合は、標準ライブラリの os.makedirs() を使用します。作成したいパスを引数として渡すだけで、途中階層のディレクトリがすべて自動的に生成されます。 import os os.makedirs(my_folder/another/folder, exists_ok=True) このコードでは、「my_folder」→「another」→「folder」というように、必要なディレクトリが一括で作成されます。 exists_ok=True を指定する理由 引数 exists
-
Pythonでmkdir -pと同じようにディレクトリを再帰的に作成する方法
mkdir -pとは?UnixやLinuxのコマンドであるmkdir -pは、親ディレクトリが存在しない場合でも、必要な階層のディレクトリをまとめて一括作成できる便利なオプションです。また、指定したディレクトリがすでに存在していてもエラーにならず、そのまま処理が続行されます。Pythonでmkdir -pと同等の処理を行うにはPythonで同じことを実現するには、標準ライブラリのosモジュールにあるos.makedirs()関数を使用します。この関数に作成したいパスを渡すことで、中間の親ディレクトリも含めて再帰的にディレクトリを作成できます。exists_ok=True を指定するデフォルトで
-
Pythonで現在のディレクトリを変更する方法をわかりやすく解説
Pythonでカレントディレクトリ(現在の作業ディレクトリ)を変更するには、標準ライブラリの os モジュールを使用します。コマンドラインの「cd」コマンドに相当する操作は、os.chdir() 関数で実現できます。os.chdir() の基本的な使い方os.chdir() は、移動先のディレクトリのパス(相対パスまたは絶対パス)を引数として受け取ります。使用例>>> import os>>> os.chdir(my_folder)上記の例では、相対パス「my_folder」へ移動しています。絶対パスを指定することも可能です。絶対パスを指定する例>&g
-
Pythonでディレクトリを変更(cd)するにはどうすればよいですか?
Pythonでカレントディレクトリを変更する(シェルのcdコマンドと同じ操作を行う)には、標準ライブラリのosモジュールを使用します。osモジュールが提供するos.chdir()関数に、移動先のディレクトリの相対パスまたは絶対パスを引数として渡すことで、作業ディレクトリを切り替えることができます。使用例>>> import os >>> os.chdir(my_folder)この例では、現在の作業ディレクトリから「my_folder」という相対パスで指定されたディレクトリへ移動しています。絶対パス(例:/home/user/my_folder や C:\Us
-
Pythonで現在の作業ディレクトリを変更・設定する方法
Pythonで現在の作業ディレクトリを設定する方法 Pythonでは、標準ライブラリのosモジュールを使うことで、現在の作業ディレクトリ(カレントディレクトリ)を簡単に変更できます。コマンドラインにおける「cd」コマンドに相当する操作は、os.chdir()関数で実現できます。 os.chdir()には、移動先のディレクトリの相対パスまたは絶対パスを引数として渡します。 使用例 >>> import os >>> os.chdir(my_folder) 上記の例では、カレントディレクトリ内にある「my_folder」というディレクトリへ移動します。絶対パスを
-
Pythonで現在の作業ディレクトリを確認する方法|os.getcwd()の使い方
Pythonで現在の作業ディレクトリ(カレントディレクトリ)を確認するには、標準ライブラリの os モジュールを使用します。Unix系コマンドの pwd に相当する操作が、os.getcwd() 関数です。 os.getcwd()で現在の作業ディレクトリを取得する os モジュールをインポートして os.getcwd() を呼び出すだけで、現在の作業ディレクトリの絶対パスを文字列として取得できます。 使用例 >>> import os >>> print(os.getcwd()) /home/ayush/qna 補足:作業ディレクトリを変更するには 逆に、作
-
Pythonで現在のファイルのフルパスとディレクトリを取得する方法
Pythonで実行中のファイルの完全なパス(フルパス)を取得するには、標準ライブラリの os モジュールを使用します。最もシンプルで確実な方法は、os.path.realpath(__file__) を呼び出すことです。 例:os.path.realpath() を使う方法 >>> import os >>> print(os.path.realpath(__file__)) /home/ayush/qna/path.py __file__ は現在実行中のスクリプトファイルの名前を示す組み込み変数であり、os.path.realpath() はシンボリッ
-
Pythonでディレクトリ(フォルダ)を削除する方法をわかりやすく解説
Pythonでディレクトリ(フォルダ)を削除したい場合、そのディレクトリが「空」かどうかによって使う関数が異なります。この記事では、代表的な2つの方法を具体例とともに解説します。 空のディレクトリを削除する:os.rmdir() 中身が空っぽのフォルダを削除したい場合は、標準ライブラリ os モジュールの rmdir 関数を使います。 使用例 >>> import os >>> os.rmdir(my_folder) なお、指定したフォルダ内にファイルやサブフォルダが1つでも残っていると、OSError が発生して削除に失敗します。その点には注意してください
-
Pythonでディレクトリを再帰的に削除する方法|shutil.rmtreeの使い方を解説
Pythonでファイルやサブフォルダを含むフォルダ(ディレクトリツリー)を丸ごと削除したい場合、標準ライブラリの shutil モジュールを使うのが最も簡単な方法です。shutil.rmtree() の基本的な使い方指定したフォルダと、その中にあるすべてのファイル・サブフォルダを一括で削除するには、以下のように記述します。>>> import shutil>>> shutil.rmtree(my_folder)注意点shutil.rmtree() による削除は元に戻せません。ゴミ箱へ移動されるのではなく、完全に削除されるため、実行前に削除対象のパスが正しいか
-
Pythonで開いたファイルを閉じる方法をわかりやすく解説
Pythonで開いたファイルを閉じるには、ファイルオブジェクトに対して close() メソッドを呼び出すだけです。close()メソッドの基本的な使い方>>> f = open(hello.txt, r) >>> # ファイルに対する処理を行う >>> f.close()このように open() で取得したオブジェクトの close() を呼び出せば、ファイルは明示的に閉じられます。close()だけに頼ることのリスクただし、この書き方には注意が必要です。処理の途中で例外が発生すると、close() が呼ばれずにファイルが開きっぱなしにな
-
Pythonでファイルの内部バッファをフラッシュする方法を解説
Pythonでは、ファイルへの書き込みはバッファリングされます。つまり、file.write()を呼び出しても、データがすぐにハードディスクに書き込まれるわけではなく、メソッドは書き込み完了を待たずに制御を返します。 なぜバッファリングされるのか? この仕組みの主な目的はパフォーマンスの向上です。少量のデータを何度も細かく書き込むよりも、ある程度まとまった量のデータを一度に書き込む方がはるかに高速です。そのため、Pythonはfile.write()による出力を内部バッファに溜め込み、一定量が蓄積された時点でまとめてディスクへ書き出すことで、高い書き込み速度を維持しています。 flush(
-
Pythonのファイル記述子とは?仕組みとファイルオブジェクトとの違いを解説
ファイル記述子(File Descriptor)とはファイル記述子(file descriptor)とは、OSのカーネルが直接提供する、ファイルを扱うための低レベルな機能です。具体的には、各プロセスごとにカーネルが管理している「開いているファイルのテーブル」の中で、開かれたファイルを識別するための整数値を指します。つまり、プログラムがファイルを開くたびに、カーネルはそのファイルに一意の整数(ファイル記述子)を割り当て、以降の読み書き操作はこの整数を通じて行われます。システムコールで直接扱うことの課題多くのシステムコールはファイル記述子を受け付けますが、直接扱うには不便な点が多くあります。主な課
-
Pythonでスクリプトがターミナルに接続されているか確認する方法
isatty()関数を使った判定方法 Pythonでは、現在実行中のスクリプトがターミナル(端末)に接続されているかどうかを、sys.stdout.isatty()関数を使って簡単に確認できます。この関数は、標準出力がターミナルデバイスに直接接続されていれば True を返し、パイプやファイルなどにリダイレクトされている場合は False を返します。 import sys if sys.stdout.isatty(): print(Inside a terminal!) else: print(Piped output) 上記のコードをターミナルから直接実行すると、次の