-
フルパスを指定してPythonモジュールをインポートする方法
フルパスを指定したPythonモジュールのインポート方法フルパスを指定してPythonモジュールをインポートする最も簡単な方法は、そのパスをsys.pathに追加することです。sys.pathは、Pythonインタープリターがソースファイル内でインポートされたモジュールを検索する際に参照するディレクトリのリストを保持しています。このリストに目的のモジュールがあるディレクトリを追加すれば、通常のimport文と同じ書き方でモジュールを読み込めるようになります。基本的な使い方import sys sys.path.append(/foo/bar/my_module) # モジュールに my_fu
-
Pythonでコマンドライン引数を使ってファイルを読み込む方法を解説
Pythonでコマンドラインからファイルを読み込む基本Pythonを使ってコマンドラインからファイルを読み込みたい場合、実行するスクリプトがコマンドライン引数(CLI引数)を受け取れるようにする必要があります。Pythonでは、標準ライブラリのsysモジュールに含まれるsys.argvを使うことで、簡単にコマンドライン引数を取得できます。具体例:catコマンドをPythonで作ってみるここでは、ファイルの内容をすべてターミナルに出力する「cat」コマンドをPythonで再現してみましょう。以下のようなプログラムを書くだけで実現できます。import sys with open(sys.argv
-
Pythonでコマンドラインからファイルに書き込む方法を徹底解説
Pythonを使ってコマンドラインからファイルに書き込むには、実行するスクリプトがコマンドライン引数(CLI引数)を受け取れるように作成しておく必要があります。Pythonでは標準ライブラリのsysモジュールに含まれるsys.argvを使うことで、簡単にコマンドライン引数を取得できます。サンプルコード:ファイルへの追記ここでは例として、「開いたファイルの末尾に『Hello』という文字列を追記する」プログラムを作成してみましょう。以下のコードをcat.pyという名前で保存します。import sys with open(sys.argv[1], a) as f: f.write(Hel
-
Pythonでファイルの変更を監視する方法!watchdogライブラリの使い方を徹底解説
どのプログラミング言語においても、ファイルの変更を監視する処理は、OSごとの仕様の違い(クロスプラットフォーム問題)があるため、自前で実装するのは容易ではありません。Pythonには、この課題を解決するために広く利用されている「watchdog」というクロスプラットフォーム対応のライブラリがあります。watchdogを使えば、Windows・macOS・Linuxなど環境を問わず、ファイルシステムの変更イベントを簡単に検知できます。watchdogのインストールwatchdogはpipコマンドで簡単にインストールできます。$ pip install watchdogサンプルコード:ファイルの変
-
VimでPythonファイルの自動インデントを正しく設定する方法
VimでPythonファイルを編集する際、自動インデントを快適に機能させるには、いくつかの設定を組み合わせる必要があります。以下の設定をホームディレクトリにある .vimrc ファイルに追加しましょう。 設定例 set ts=4 set sts=4 set sw=4 set autoindent set smartindent set smarttab set expandtab 各オプションの意味 ts=4(tabstop):タブ文字の表示幅を4スペースに設定します。 sts=4(softtabstop):挿入モードでTabキーを押したときに挿入される幅を4スペースにします。 sw=4(s
-
Pythonでプログラム実行時の現在のディレクトリを確認する方法
Pythonで現在の作業ディレクトリ(カレントワーキングディレクトリ、いわゆる pwd)を確認したい場合は、標準ライブラリの os モジュールを使用します。os.getcwd() で現在のディレクトリを取得するos.getcwd() 関数を呼び出すと、Pythonスクリプトが実行されている現在の作業ディレクトリのパスを文字列として取得できます。使用例>>> import os>>> print(os.getcwd())/home/ayush/qnaこの例では、現在の作業ディレクトリが /home/ayush/qna であることがわかります。返される値は環境に
-
ディレクトリ内のすべてのPythonファイルを一括実行する最良の方法
ディレクトリ内のすべてのPythonファイルを一度に実行したい場合、最も速くて簡単な方法はループ処理を使うことです。シェルスクリプト(bash)を活用すれば、数行のコードで自動化できます。 方法1: bashのforループを使う まず、run_all_py.shという名前の新しいファイルを作成し、以下のコードを記述します。 for f in *.py; do python $f; done このスクリプトは、カレントディレクトリ内の拡張子が.pyのファイルをすべて検出し、順番に1つずつ実行していきます。 スクリプトの実行方法 作成したファイルを保存したら、次のコマンドで実行します。 $ bas
-
【Python入門】複数行にわたるステートメントの書き方:括弧と行継続文字の使い方
Pythonにおける複数行ステートメントの基本Pythonでは、長い式を複数行にわたって記述したい場合に、最も推奨されている方法が丸括弧( )で式全体を囲むというものです。括弧の中であれば、インタプリタが自動的に行の継続を判断してくれるため、特別な記号を追加する必要がありません。例1:括弧を使って式を改行するa = (10**2 + 10*5 - 10) print(a)このコードを実行すると、結果として 140 が出力されます。演算子ごとに改行しても、括弧内であればエラーにならず、可読性の高いコードになります。例2:行継続文字(バックスラッシュ)を使うもう一つの方法として
-
Pythonのシングルクォートとダブルクォートの違いを徹底解説
文字列とは、数値としての意味を持たない文字の連なりを指します。Pythonでは、こうした文字の並びはシングルクォート()またはダブルクォート()で囲んで表現します。言語の構文上、シングルクォートとダブルクォートに機能的な違いは一切ありません。どちらの表記法もまったく同じように扱われ、状況に応じて自由に使い分けることができます。そのため、プロジェクト内で表記スタイルを統一するかどうかは、単なるコーディング規約(スタイルガイド)の問題と言えます。実際、PEP 8(Python公式スタイルガイド)でもどちらを選ぶべきかは定められておらず、「同じファイル内で一貫性を保つこと」だけが推奨されています。引
-
Pythonでコマンドライン引数にアクセスする方法をわかりやすく解説
コマンドラインとは、オペレーティングシステムに対して実行可能なコマンドを入力するための場所です。Pythonスクリプトは、コマンドライン上でpython実行ファイルの後ろにスクリプト名を記述することで実行できます。C:\users\acer>python test.pyスクリプトの処理に何らかのデータを受け渡したい場合は、スクリプト名に続けて、スペース区切りの値として記述します。このスペースで区切られた値のリストは「コマンドライン引数」と呼ばれます。コマンドライン引数の例C:\users\acer>python test.py Hello TutorialsPointスペースで区切
-
Pythonで時間遅延(スリープ)を作成する方法:time.sleep()関数の使い方
Pythonプログラムの実行中に、一定の間隔だけ処理を一時停止させたい場面はよくあります。例えば、APIへのリクエスト間隔を空けたり、アニメーションのような演出を行ったりするケースです。このような時間遅延を実現するには、Python標準ライブラリの time モデルに用意されている sleep() 関数を使用します。time.sleep()関数の基本構文sleep() 関数は、引数として秒数を受け取り、その時間だけプログラムの実行を停止します。import time time.sleep(sec)引数には整数だけでなく、小数(浮動小数点数)も指定できます。例えば time.sleep(0.5)
-
Pythonのインタラクティブモード(対話型シェル)の使い方を解説
Pythonには、コードを1行ずつ入力してすぐに結果を確認できる「インタラクティブモード(対話型シェル)」が用意されています。本記事では、その起動方法と基本的な使い方を解説します。インタラクティブシェルの起動方法Windowsの場合はコマンドプロンプト、macOSやLinuxの場合はターミナルを開き、「python」コマンドを実行します。これにより、Pythonの対話型シェルが起動します。C:\user>python >>>プロンプトの見方と基本的な使い方対話型シェルが起動すると、「>>>」という3つの大なり記号で構成されたプロンプトが表示されます。こ
-
Pythonをスクリプトモードで実行する方法
Pythonでは、コマンドラインからスクリプト形式でプログラムを実行できます。Pythonプログラムは任意のテキストエディタ(可能であればPython構文に対応したエディタ)で記述し、拡張子「.py」を付けて保存します。標準のPythonディストリビューションには、IDLEという統合開発環境(IDE)が付属しています。IDLEを使って基本的なHello Worldプログラムを作成するには、メニューから「File」→「New File」を選択してエディタウィンドウを開きましょう。サンプルコード以下のコードを入力し、「test.py」という名前で保存してください。#!/usr/bin/python
-
Pythonで入力値を整数として読み取る方法
Python 3.x では、ユーザーからの入力を受け付けるために標準の input() 関数が用意されています。この関数は常に文字列を返すため、そのままでは数値として計算などに使用できません。int() 関数で文字列を整数に変換する入力された値を整数として扱いたい場合は、組み込み関数 int() を使って明示的に型変換を行う必要があります。実行例>>> var = int(input("年齢を入力してください: ")) 年齢を入力してください: 21 >>> var 21 >>> type(var) <class
-
PythonシェルでPythonファイルを実行する方法【execfile・execの使い方】
Pythonシェル(対話モード)からPythonファイルを実行したい場合は、execfileメソッドまたはexecメソッドを使用します。それぞれの使い方を具体例とともに見ていきましょう。実行例例として、次の1行だけが書かれた「my_script.py」というスクリプトを用意します。print(Greetings from my_script)このファイルをPythonシェルから実行する方法は、使用しているPythonのバージョンによって異なります。execfileメソッドを使う場合(Python 2)Python 2環境では、シェルに以下のように入力するだけでスクリプトを実行できます。>
-
Pythonで2つのファイルの差分(diff)を検出する方法
Pythonの標準ライブラリには、文字列やファイル間の差分を検出するための専用モジュール difflib が用意されています。このモジュールの unified_diff 関数を使えば、Unixのdiffコマンドのような「統一形式(unified format)」の差分を、追加のインストールなしに簡単に取得できます。サンプルファイルの準備例として、次のような内容を持つ2つのファイル file1 と file2 を用意します。file1:HelloPeopleoftheworldfile2:HelloPeoplefromIndia差分を検出するコードこれらのファイルの差分を取得するには、以下のよう
-
複数のPythonファイル間で共通データを共有する方法【pickleを使った実装例】
複数のPythonファイル間で共通データを共有するには? 複数のPythonスクリプト(プロセス)間で共通のデータを直接共有することはできません。それぞれのインタープリターは独立したメモリ空間を持っているため、データを受け渡すには必ず何らかの外部媒体を介す必要があります。 主な選択肢は以下の2つです。 ネットワークやソケット通信を利用する 一時ファイル(共有ファイル)を利用する 最も手軽なのは、ファイルを介してデータを共有する方法です。Pythonの標準ライブラリであるpickleモジュールを使えば、一方のスクリプトでオブジェクトをファイルに保存(シリアライズ)し、もう一方のスクリプトでそ
-
Pythonでディレクトリが存在しない場合に作成する方法
Pythonでプログラミングを行う際は、慣用的な(イディオマティックな)書き方を心がけるのが一般的です。Pythonの代表的なイディオムのひとつに「EAFP(Easier to ask for forgiveness than permission:許可を求めるより、許しを請う方が容易)」という考え方があります。これは、事前に存在確認をするのではなく、まずディレクトリ作成を試みて、すでに存在する場合に発生するエラーを捕捉して対処するというアプローチです。実装例以下のコードでは、os.makedirs()でディレクトリの作成を試み、エラーが「すでに存在する」ことを示すものであれば無視し、それ以外
-
Pythonでディレクトリ(フォルダ)が存在するかどうかを確認する方法
Pythonでは、標準ライブラリの os モジュールに含まれる os.path.exists() 関数を使うことで、指定したディレクトリ(フォルダ)やファイルが存在するかどうかを簡単に確認できます。基本的なサンプルコード以下は、my_folder というディレクトリが存在するかどうかをチェックする例です。import os if not os.path.exists(my_folder): print(指定されたパスは存在しません) else: print(指定されたパスは存在します)このコードを実行したとき、すでに my_folder フォルダが存在していれば、次のメッセー
-
Pythonでホームディレクトリを取得する方法|os.path.expanduserとpathlibの使い方
Pythonでホームディレクトリを取得する基本の方法Pythonでユーザーのホームディレクトリ(ホームフォルダ)のパスを取得したい場合は、標準ライブラリのosモジュールに含まれるos.path.expanduser(~)を使うのが最もシンプルで定番の方法です。この関数は、パスの中に~(チルダ)が含まれている場合、それを実際のホームディレクトリのパスに展開してくれます。たとえば~/Documents/my_folder/のように、より長いパスの一部として使うことも可能です。また、パスに~が含まれていない場合は、渡されたパスをそのまま変更せずに返します。os.path.expanduserの基本的