-
Pythonでファイルやフォルダをtar.gzアーカイブに圧縮・追加する方法
Pythonの標準ライブラリである tarfile モジュールを使うと、ディレクトリ全体を簡単にtar形式のアーカイブ(gzip圧縮)としてまとめることができます。ディレクトリツリーの走査には os.walk を利用し、配下のファイルをすべて再帰的にアーカイブへ追加していきます。基本的な実装例import os import tarfile def tardir(path, tar_name): with tarfile.open(tar_name, w:gz) as tar_handle: for root, dirs, files in os.walk(path)
-
Pythonでフォルダ内のファイルをZIPファイルに圧縮・追加する方法
PythonでディレクトリをZIPアーカイブにまとめる基本の方法 Pythonでは、標準ライブラリの zipfile モジュールを使うことで、フォルダ内のファイルをまとめてZIPアーカイブにできます。ポイントは、os.walk() でディレクトリツリーを再帰的に走査し、見つかったすべてのファイルを順番にアーカイブへ追加していくことです。 サンプルコード import os import zipfile def zipdir(path, ziph): # ziph は zipfile のハンドル for root, dirs, files in os.walk(path):
-
Pythonでtarファイルからファイルを抽出する方法【tarfileモジュールの使い方】
Pythonでは、標準ライブラリの tarfile モジュールを使うことで、tarファイル(tar.gz形式を含む)の読み書きや展開を簡単に行えます。この記事では、tarアーカイブ全体を一括で解凍する方法と、特定のファイルだけを取り出す方法の2つを紹介します。 tarファイルを丸ごと展開する方法 tarファイルを展開するには、まず tarfile.open() でアーカイブを開き、extractall() メソッドを使って指定したフォルダにすべての内容を書き出します。 コード例 import tarfile my_tar = tarfile.open(my_tar.tar.gz) my_ta
-
Pythonでzipファイルからすべての.txtファイルを抽出する方法
zipファイルからすべての.txtファイルを抽出するには、アーカイブ内の全ファイルをループ処理し、各ファイルがテキストファイル(.txt)かどうかを判定します。.txtファイルであれば抽出する、という流れになります。この処理にはPython標準ライブラリのzipfileモジュールと、そのextract()関数を使用します。基本的なコード例import zipfile my_zip = zipfile.ZipFile(my_zip_file.zip) # ここにzipファイル名を指定 storage_path = . for file in my_zip.namelist(): i
-
Pythonで開けるファイルサイズの上限はどのくらい?メモリ制約と実用的な限界を解説
結論から言うと、Pythonが開けるファイルサイズには、言語仕様上の明確な上限は存在しません。実際、多くの開発者がギガバイト単位のデータをメモリに読み込んで処理しています。 実用上の限界はハードウェアとOSによって決まる ただし、「理論上の上限がない」ことは「無限に読み込める」という意味ではありません。実用的な限界は、以下の環境要因によって決まります。 搭載RAM(メインメモリ)の容量 64ビットか32ビットか(OS・プロセッサの両方) オペレーティングシステムの制限 たとえば32ビット環境では、1つのプロセスが扱えるアドレス空間に上限があるため、環境にもよりますがおおむね1GB前後
-
Pythonでファイル名の最大長の制限を取得する方法
ファイル名の最大長は場所によって異なることがある一部のプラットフォームでは、ファイル名の最大長がディスク上の場所によって異なる場合があります。たとえばUNIXシステムでは、ディレクトリツリー内のさまざまな場所に異なるファイルシステムがマウントされていることがあり、その場合、それぞれの場所で許容されるファイル名の最大長も異なる値になります。次のように os.statvfs() を使うことで、各マウントポイントにおけるファイル名の最大長を確認できます。>>> import statvfs, os >>> os.statvfs(/)[statvfs.F_NAMEM
-
Pythonでファイルをアルファベット順に一覧表示する方法【os.listdirとsortedの使い方】
Pythonですべてのファイル名をアルファベット順に取得する方法 Pythonでは、os.listdir関数を使うことで、指定したディレクトリ内のファイルやフォルダの一覧を簡単に取得できます。さらに、組み込み関数であるsortedを組み合わせれば、取得したリストをアルファベット順(昇順)にソートすることが可能です。 基本的な手順 まずos.listdirでディレクトリの中身をリストとして取得し、その後sorted関数に渡して並べ替えます。以下が実際のコード例です。 >>> import os >>> list_dir = os.listdir(.) >
-
Pythonでサーバー間のファイルをコピーする方法|scpコマンドとparamikoの使い方
Pythonを使って、あるサーバーから別のサーバーへファイルをコピーしたい場面は多くあります。SSH経由でファイルを転送する最も簡単な方法は、scpコマンドを利用することです。scpコマンドをPythonから呼び出すには、標準ライブラリのsubprocessモジュールを使用します。方法1:subprocessモジュールでscpコマンドを実行するsubprocess.Popen()を使えば、シェルからscpコマンドを実行するのと同じようにファイルを転送できます。コード例import subprocess import os p = subprocess.Popen([scp, my_file.
-
PythonでSCPやSSHを使ってリモートサーバーへファイルをコピーする方法
SSH経由でサーバー間のファイルをコピーする最も簡単な方法は、scpコマンドを使用することです。Pythonからscpを呼び出すには、標準ライブラリのsubprocessモジュールを使います。subprocessモジュールを使う方法import subprocess p = subprocess.Popen([scp, my_file.txt, username@server:path]) sts = os.waitpid(p.pid, 0)waitpidを呼び出すことで、ファイルのコピーが完了するまで処理を待機できます。この呼び出しを省略すると、コピーが終わる前にスクリプトが次の処理へ進ん
-
PythonでFTPを扱う方法!ftplibモジュールでファイル転送を自動化しよう
Pythonでは、標準ライブラリのftplibモジュールを使うことで、FTPサーバーとの通信を簡単に実装できます。このモジュールを利用すれば、ファイルのアップロードやダウンロードなど、さまざまなFTP処理を自動化するプログラムを作成可能です。FTPサーバーに接続してファイル一覧を取得し、それらをローカル環境で処理するといった流れも、わずか数行のコードで実現できます。 ftplibを使った基本的な接続例 以下は、FTPサーバーに接続してホームディレクトリ内のファイル一覧を表示するサンプルコードです。 import ftplib # FTPサーバーに接続(ホスト名、ユーザー名、パスワードを指定)
-
PythonでSSH経由でリモートコマンドを実行する方法【paramikoの使い方を解説】
PythonでSSH接続を行うには?PythonからSSHを使ってリモートサーバーに接続し、コマンドを実行したい場合、最もシンプルで広く使われている方法がparamikoライブラリを利用することです。paramikoはSSH2プロトコルを純粋なPythonで実装したライブラリで、鍵認証やパスワード認証など、さまざまな接続方式に対応しています。paramikoのインストールpipコマンドを使って、以下のように簡単にインストールできます。$ pip install paramiko事前準備:SSHキーの設定paramikoを使用する前に、接続元(ホスト)マシン上でSSHキーが正しく設定されているこ
-
PythonでSSHを使う最も簡単な方法は?paramikoの導入と使い方を解説
PythonからSSH接続を行う最も手軽な方法は、paramikoというライブラリを使用することです。paramikoはSSH2プロトコルを純粋なPythonで実装したライブラリで、リモートサーバーへの接続やコマンド実行、ファイル転送(SFTP)などを簡単に扱えます。paramikoのインストールpipコマンドを使って、以下のようにインストールできます。$ pip install paramiko事前準備:SSHキーの設定paramikoを使用する前に、接続元のホストマシン上でSSHキーが正しく設定されていることを確認してください。また、Pythonスクリプトを実行する際に、そのキーへアクセス
-
Pythonの正規表現とは?基本の考え方と主な使い方をわかりやすく解説
正規表現とは何か 正規表現(Regular Expression)とは、文字列の中から特定のパターンを検索したり置換したりするために用いられる、文字の並び(パターン)のことです。シンプルに言えば、「文字列の中から目的のパターンを見つけ出し、必要に応じて書き換えるための記法」と理解するとよいでしょう。 正規表現はPythonだけでなく、Perl、R、Javaなど、ほとんどのプログラミング言語でサポートされており、テキスト処理における共通の基礎技術となっています。 正規表現が活躍する場面 正規表現は、ソースコード、ログファイル、スプレッドシート、さらにはドキュメントといったテキストデータから情報
-
Pythonのmatch()関数とは?reモジュールの基本と使い方を解説
Pythonでは、match()は標準ライブラリのreモジュールが提供するメソッドの一つで、文字列の先頭が指定した正規表現パターンと一致するかどうかを判定するために使用されます。 構文 match()の基本構文は以下の通りです。 re.match(pattern, string) このメソッドは、パターンが文字列の先頭で一致した場合にのみマッチオブジェクトを返します。例えば、文字列「TP Tutorials Point TP」に対してパターン「TP」を検索すると、文字列が「TP」で始まっているためマッチします。しかし、パターンとして「Tutorials」を指定した場合、文字列の先頭に存在し
-
Pythonのre.search()関数とは?正規表現で文字列を検索する方法を解説
Pythonにおいて、search()は標準ライブラリのreモジュールに含まれるメソッドの一つです。正規表現パターンを使って文字列内を検索し、パターンに一致する最初の部分を見つけるために使用されます。search()の構文re.search(pattern, string)第一引数には検索したい正規表現パターン、第二引数には検索対象となる文字列を指定します。re.match()との違いre.search()はre.match()とよく似ていますが、決定的な違いがあります。re.match()は文字列の先頭でのみ一致を判定するのに対し、re.search()は文字列全体から任意の位置にあるパター
-
Pythonのre.searchとre.matchの違いとは?正規表現マッチングの使い分けを徹底解説
Pythonのreモジュールには、正規表現でパターンを検索するためのメソッドがいくつか用意されています。その中でもよく使われるのが re.match() と re.search() の2つです。どちらもマッチオブジェクトを返すという点では似ていますが、検索範囲に重要な違いがあります。 re.match():文字列の先頭だけをチェックする re.match() は、パターンが文字列の先頭で一致した場合にのみマッチを返します。文字列の途中にパターンが存在しても、先頭で一致しなければ結果は None になります。 たとえば、文字列「TP Tutorials Point TP」に対してパターン「TP」
-
Pythonで文字列内のテキストを検索・置換する方法|re.sub()の使い方を解説
Pythonの標準ライブラリである「re」モジュールには、指定したパターンを検索して新しい部分文字列に置き換えるための re.sub() メソッドが用意されています。もし指定したパターンが見つからなかった場合は、元の文字列がそのまま変更されずに返されます。 re.sub() の基本構文 re.sub(pattern, repl, string) 各引数の意味は以下のとおりです。 pattern:検索したい正規表現パターン repl:置き換え後の文字列 string:検索対象となる元の文字列 使用例 次のコードでは、文字列「TP is most popular Tutorials si
-
Pythonの正規表現における修飾子(フラグ)の使い方と機能一覧
Python正規表現の修飾子とはPythonのreモジュールでは、正規表現によるパターンマッチングの挙動を制御するために、さまざまな修飾子(フラグ)を指定することができます。これらの修飾子を使うことで、大文字小文字の区別や改行の扱いなど、マッチングの動作を柔軟に変更できます。以下に、主要な修飾子とその機能を一覧形式で紹介します。1. re.I(re.IGNORECASE)大文字と小文字を区別せずにマッチングを行います。英字の大小を無視したい場合に便利です。2. re.L(re.LOCALE)現在のロケール設定に従って単語を解釈します。このフラグは、アルファベット系のグループ(\w および \W
-
Pythonで大文字と小文字を区別しない文字列比較を行う方法
Pythonで大文字と小文字を区別せずに文字列を比較したい場合は、lower()メソッドを使って両方の文字列をすべて小文字に変換してから比較するのが最も一般的で簡単な方法です。サンプルコード以下は、大文字と小文字を区別しない文字列比較の例です。string1 = Star Wars string2 = star wars if string1.lower() == string2.lower(): print(2つの文字列は大文字と小文字を無視すると一致します) else: print(2つの文字列は一致しません)このコードでは、string1とstring2の両方にlowe
-
Pythonの正規表現で特定の文字から始まり、特定の文字で終わる部分をマッチさせる方法
文字列「TestCountry Hello」が与えられているとします。この文字列のうち、「T」で始まり「y」で終わる部分を抽出して表示するには、reモジュールのfindallメソッドを使用します。正規表現パターンには、単語境界のアンカー「\b」と、空白以外の任意の文字を表す「\S」を組み合わせます。 コード例 import re result = re.findall(r\bT\S+y\b, TestCountry Hello) print(result) 実行結果 上記のコードを実行すると、次の出力が得られます。 [TestCountry] パターンの解説 使用した正規表現パターン「\bT\