【Python】スクリプトとは?基礎から具体的な使い方まで徹底解説

はじめに

Pythonは、多彩な分野で活用されるプログラミング言語です。

Pythonスクリプト は、コマンドラインから気軽に実行できるプログラムとして、初心者から上級者まで幅広い人に使われています。

ファイル操作やデータ分析、ちょっとしたツールの自動化など、いろいろな作業を効率化できるのがポイントです。

この言語は文法が比較的シンプルなので、初めてのプログラミング学習に選ぶ人も多いのではないでしょうか。

本記事では、Pythonスクリプトの基礎から具体的な使い方までをわかりやすく解説します。

初心者でも理解しやすいように、コード例や実務における活用シーンを紹介しながら進めます。

この記事を読むとわかること

  • Pythonスクリプトがどのようなものなのか
  • Pythonスクリプトの実行方法やファイル構造
  • よく使われる標準ライブラリの基本
  • 実務や日常業務に役立つ具体例
  • エラー処理やパフォーマンス改善のヒント

Pythonスクリプトとは?

Pythonスクリプトは、拡張子が .py のファイルにPythonコードを記述して、一連の処理を自動化するものです。

ターミナルやコマンドプロンプトなどで python スクリプト名.py のように入力することで動かす仕組みになっています。

「スクリプト」と聞くと、小規模なプログラムをイメージする人も多いかもしれませんが、Pythonスクリプトでも大きなアプリケーションを作ることが可能です。

たとえば、ファイル操作やデータ取得、サーバー側の業務処理といったさまざまな場面で活用されます。

プログラミング未経験の方にとって、スクリプト形態のPythonコードは学びやすい入り口になります。

余計な設定が必要ないため、思いついたタスクを少ない手順で実行しやすいのが魅力といえるでしょう。

なぜPythonスクリプトが人気なのか

Pythonスクリプトが人気を集める背景には、次のような特徴があります。

  • 読みやすい文法
  • 幅広いライブラリ
  • コミュニティの充実

読みやすく、書きやすいという点は、初心者でも理解しやすいことを意味します。

また、豊富な外部ライブラリがあるので、ウェブスクレイピングやデータ分析など、様々な分野で役立ちます。

シンプルな文法

Pythonは記述がシンプルで、インデントによる構造が特徴的です。

他の言語と比べて記号的要素が少ないので、英語の文章のようにコードを読める人もいるかもしれません。

余計な括弧やセミコロンが少なく、文章感覚で書けるため、最初のとっかかりとして取り組みやすいのがメリットです。

幅広い活用範囲

Pythonは、科学技術計算や人工知能分野だけでなく、ウェブ開発や業務の自動化など、あらゆる場面で使われます。

この幅広さはスクリプトとしての実行形態にも活かされます。

大掛かりなプロジェクトではなく、ちょっとした自動化スクリプトを作りたい場合でも、学習コストを抑えてすぐに結果を出しやすいでしょう。

実務で使われるPythonスクリプトのシーン

企業の現場でもPythonスクリプトが頻繁に利用されています。

以下の例をイメージすると、どのように活用されているかがわかります。

Webアプリケーション

ウェブサイトのバックエンドでは、フレームワークを使った本格的な開発も行われます。

しかし、試作や開発段階では小規模なスクリプトでAPIデータを検証したり、動作確認を素早くしたりすることもあります。

自動化・ツール作成

毎日行うファイル整理やデータのダウンロードなど、繰り返し作業をPythonスクリプトでまとめる例があります。

これにより、手動操作の手間を削減し、生産性を上げやすくなります。

Pythonスクリプトの基本構造

Pythonスクリプトは、テキストエディタやIDEでPythonコードを記述し、.py の拡張子で保存するだけで利用できます。

複数のファイルに分割してプロジェクト形式で管理することもできますが、小規模な場合はひとつのファイルに完結させるケースも多いです。

以下のコード例は、ごくシンプルなスクリプトの一例です。

print("Hello, Pythonスクリプト!")

ターミナルで python hello.py と入力すると、このコードが動き出します。

実行方法

Pythonスクリプトを実行する方法はいくつかありますが、最も基本的なものはコマンドラインからの実行です。

Windowsならコマンドプロンプト、macOSやLinuxならターミナルを開き、 python ファイル名.py と入力するだけです。

コマンドラインから実行

多くのケースでは、次のような手順を踏みます。

  1. ターミナルまたはコマンドプロンプトを開く
  2. Pythonスクリプトが置いてあるディレクトリに移動する
  3. python スクリプト名.py を入力する

この実行方法が最もオーソドックスなやり方です。

スクリプトに実行権限を付与して実行

LinuxやmacOSの場合、ファイルに実行権限を付与し、先頭行に #!/usr/bin/env python のように書けば、直接 ./スクリプト名.py のように実行できます。

この方法は、シェルスクリプトと似た運用ができるため、業務で継続的に使うスクリプトなどで便利です。

変数とデータ型

スクリプトを作るうえで理解しておきたいのが、Pythonの変数とデータ型です。

Pythonは変数に型を指定しなくても、代入される値から自動的に判断します。

数値型

整数や浮動小数点数などが該当します。

count = 10
price = 3.5
total = count * price
print(total)

上記のように、演算子を使うだけで手軽に数値同士を処理できます。

文字列型

文字列は ""'' で囲むと定義できます。

greeting = "こんにちは"
name = "田中"
message = greeting + name
print(message)

文字列同士を + で結合すると、簡単に新しい文字列を作成できます。

リスト型

リストはデータを順番に格納するための構造です。

fruits = ["Apple", "Banana", "Orange"]
fruits.append("Grapes")
print(fruits)

.append() で要素を追加し、 print() すれば内容を確認できます。

Pythonスクリプトの関数とモジュール構成

小規模なスクリプトでも、ある程度の規模になると、コードを見通しよくまとめたくなります。

そこで活躍するのが関数とモジュールです。

関数の定義と使いどころ

同じ処理を何度も書くときは、関数にまとめるのが一般的です。

def greet_user(username):
    print("Hello,", username)

greet_user("吉田")
greet_user("山本")

ここで関数 greet_user を定義すると、その後に好きなだけ呼び出せるようになります。

関数を定義する

def 関数名(引数): の形で、複数のステートメントをまとめて定義できます。

引数がない場合は、 def 関数名(): と書いてください。

関数で作業を整理するメリット

関数に処理をまとめると、コードの再利用性が高まります。

後から変更が必要になったときも、関数の中を修正するだけで済むので、開発効率が上がります。

モジュールでスクリプトを分割

コードが大きくなったら、ひとつのファイルに収めるのは大変です。

そこで、モジュールを使ってファイルを分割し、それぞれの役割に応じて管理します。

ファイル分割のやり方

例えば、 main.pyutils.py を作成し、 utils.py に関数をまとめておくパターンがよくあります。

必要になったときに main.py で呼び出すようにすると、コードが整理しやすくなるでしょう。

importで読み込む方法

他のファイルの関数を利用するときは、 import モジュール名 を使います。

# main.py
import utils

utils.greet_user("山田")

こうすることで、 utils.py に書かれた greet_user 関数を呼び出せるようになります。

Pythonスクリプトでよく使う標準ライブラリ

Pythonには標準ライブラリが数多く含まれています。

その中でも特に利用頻度が高いモジュールを押さえておくと、スクリプト作成の際に困りにくくなります。

osモジュール

ファイルパスの操作やディレクトリの移動などを行うモジュールです。

import os

current_dir = os.getcwd()
print("現在のディレクトリ:", current_dir)

上記のように、作業中のディレクトリの場所を取得できます。

os.path

os.path には、ファイルパスを扱う機能がまとまっています。

import os

file_path = "/home/user/documents/report.txt"
dir_name = os.path.dirname(file_path)
file_name = os.path.basename(file_path)

print("ディレクトリ名:", dir_name)
print("ファイル名:", file_name)

ファイルを分解して、ディレクトリ名やファイル名を取得する際に便利です。

sysモジュール

実行環境やコマンドライン引数を扱うのに役立つモジュールです。

import sys

print("Pythonバージョン:", sys.version)
print("コマンドライン引数:", sys.argv)

コマンドライン引数の扱い

sys.argv はリストとして、スクリプト名や引数が格納されます。

例えば python my_script.py arg1 arg2 と実行すると、 sys.argv[1]'arg1' が入り、 sys.argv[2]'arg2' が入ります。

Pythonスクリプトでファイル操作をする

データの保存や読み取りを行うには、ファイル操作が不可欠です。

Pythonスクリプトでは、テキストファイルやCSVファイルなどを手軽に扱えます。

ファイル読み書きの基本

ファイルを操作するには、主に open() 関数を使います。

# ファイルへの書き込み
with open("sample.txt", "w", encoding="utf-8") as f:
    f.write("この文章はファイルに書き込まれます\n")

# ファイルの読み込み
with open("sample.txt", "r", encoding="utf-8") as f:
    content = f.read()

print(content)

with open(...) as f: という構文を使うと、ファイルを自動的にクローズしてくれるので便利です。

open関数の使い方

open() のモードには、 "r"(読み取り)や "w"(書き込み)、 "a"(追記)などが存在します。

文字コードの指定には、 encoding="utf-8" などを付けると文字化けを防ぎやすくなります。

CSVファイルの操作例

テキストファイルより一段階構造化されたデータとして、CSV形式がよく利用されます。

CSVモジュールでの簡単な読み書き

Pythonには csv モジュールが標準で用意されています。

import csv

# CSVファイルの書き込み
data = [
    ["名前", "年齢", "所在地"],
    ["佐藤", 25, "東京都"],
    ["鈴木", 30, "大阪府"]
]

with open("sample.csv", "w", newline="", encoding="utf-8") as f:
    writer = csv.writer(f)
    writer.writerows(data)

# CSVファイルの読み込み
with open("sample.csv", "r", encoding="utf-8") as f:
    reader = csv.reader(f)
    for row in reader:
        print(row)

このように、リスト形式でデータを用意すれば、簡単にCSVファイルを操作できます。

Pythonスクリプトでエラー処理

スクリプトを作ると、想定外の入力やネットワーク障害など、さまざまな理由でエラーが発生することがあります。

Pythonでは例外処理を通じて、エラーが起きてもスクリプトが途中で止まらないように対策できます。

try-except

try-except 構文を使うことで、エラーが起こりそうな箇所を囲んで対処方法を指定できます。

try:
    number = int(input("数字を入力してください: "))
    print("入力された数字:", number)
except ValueError:
    print("数字の形式が正しくありません。")

例外をハンドリングするメリット

エラーが起きたときに正しい処理を行うことで、スクリプトが安全に終了したり、ユーザーに適切なメッセージを提示できるようになります。

また、不要なスタックトレースを画面に出さずに済むため、業務で使う場合にも安心です。

Pythonの例外クラス

Pythonにはさまざまな例外クラスがあり、 ValueErrorFileNotFoundError など、状況に応じたエラーをキャッチできます。

ValueErrorなどの例

数値変換がうまくいかない場合は ValueError、ファイルが存在しない場合は FileNotFoundError などを使うことで、細かいエラー分岐が可能です。

Pythonスクリプトで外部ライブラリを利用する

標準ライブラリだけでは対応できない機能や、より高度な機能が必要になることもあります。

そんなときは、外部ライブラリの利用を検討すると良いでしょう。

インストール方法

Pythonの外部ライブラリは、 pip コマンドでインストールするのが基本です。

pip install ライブラリ名

これで、PyPI(Python Package Index)からダウンロード・インストールが行われます。

pipの使い方

多くの場合、コマンドラインで pip install requests のように入力すれば、必要なライブラリをすぐに導入できます。

システム全体ではなく、仮想環境上でパッケージを管理するやり方もありますが、ここでは詳細を省略します。

ライブラリ利用のサンプル

例えば、HTTP通信を扱うには requests というライブラリが代表的です。

requestsでWebページを取得

import requests

url = "https://example.com"
response = requests.get(url)

if response.status_code == 200:
    print("ページのタイトル:", response.text.split("<title>")[1].split("</title>")[0])
else:
    print("アクセスに失敗しました。ステータスコード:", response.status_code)

このスクリプトを実行すると、HTMLソースの <title> タグの内容を表示できます。

Pythonスクリプトのデバッグ手法

プログラムを書いていると、思いがけないバグに遭遇することがあります。

そんなときは、デバッグ作業を効率的に行う方法を知っておくと便利です。

printデバッグ

最も簡単なデバッグ手法は、コードの途中で print() を呼び出し、変数の内容を確認する方法です。

デバッグプリントの使い所

ループや関数の中など、想定どおりの値が入っているか気になった場所に print() を仕込むと、手早く原因を突き止められます。

def multiply(a, b):
    result = a * b
    print("DEBUG: multiply結果 =", result)
    return result

最終的には、確認が終わったらデバッグ用の print() は削除するかコメントアウトしておきましょう。

実行時のエラー出力を読む

Pythonのエラーが発生すると、Tracebackという形でスタックトレースが表示されます。

Tracebackの理解

Tracebackには、どのファイルの何行目でエラーが起きたかや、どの例外が発生したかが記録されています。

エラーメッセージを見れば、バグ修正の手がかりを得やすいでしょう。

Pythonスクリプトでの実務活用例

ここでは、Pythonスクリプトが具体的にどのような場面で役に立つのかを掘り下げます。

データ抽出と加工

Pythonの強みのひとつは、データを効率よく扱える点にあります。

エクセルファイルから読み取り

Excelなどの表計算ソフトで作成されたファイルを、Pythonスクリプトで処理する場合があります。

pandas などの外部ライブラリを使えば、Excelファイルの読み込みや集計を簡単に自動化できます。

膨大なデータを一括で処理するスクリプトを作れば、手作業による入力ミスを大幅に減らせるでしょう。

システム運用

システム運用担当者が、サーバーのログを解析したり、定期的なタスクを自動化したりするケースもよくあります。

ログ解析や監視スクリプト

ログファイルを定期的に読み込んで、特定のキーワードを検出したら通知する、といったシンプルな監視スクリプトを作るのもPythonなら難しくありません。

スクリプトをcronに登録すれば、毎日決まった時間に実行することもできます。

Pythonスクリプトのパフォーマンス向上策

Pythonスクリプトは手軽で書きやすい反面、大量のデータを扱う場合など、速度面が気になることがあります。

そんなときは、コードの最適化や並列処理を検討してみると良いでしょう。

コードの最適化

ちょっとした工夫で、Pythonスクリプトの動作が軽くなる場合があります。

リスト内包表記など

複数の要素を処理して新しいリストを作成する場合、リスト内包表記を使うと無駄な処理が減ります。

numbers = [i for i in range(1000000) if i % 2 == 0]

こうした書き方は、従来のループ構文よりも高速に動作することがあります。

並列処理とマルチスレッド

Pythonスクリプトでは、複数の処理を並行して動かす方法として、 threadingmultiprocessing モジュールがあります。

マルチプロセスとの違い

マルチスレッドは同じプロセス空間を共有するのに対し、マルチプロセスは別のプロセスとして実行します。

CPUコアを有効活用したり、GIL(Global Interpreter Lock)の影響を回避したりする場合に考慮すると良いでしょう。

Pythonスクリプトで注意すべきポイント

初心者でも扱いやすいPythonですが、いくつか注意点を押さえておくと、後々のトラブルを減らすことができます。

メモリ使用量

Pythonはメモリ管理を自動で行いますが、大量のデータを読み込むとメモリ不足になる可能性があります。

大量のデータを扱う場合の考慮

一度にすべてのデータを読み込むのではなく、分割して処理する方法を検討すると良いでしょう。

また、必要以上にリストや辞書を膨大に保持しないように気をつけることも大切です。

依存関係管理

複数のPythonスクリプトやライブラリを組み合わせていると、ライブラリのバージョンの違いなどで問題が起こる場合があります。

仮想環境の活用

仮想環境(venvやcondaなど)を使うと、プロジェクトごとにライブラリのバージョンを分けて管理しやすくなります。

他のプロジェクトとの衝突を防ぐための基本的な対策ですが、使いこなせばスクリプト開発が円滑になります。

Pythonスクリプトの配布と保守

自分だけで使うスクリプトならそのままでもよいですが、他の人にも利用してもらうケースでは配布の仕組みや保守のやり方も考えておくと安心です。

スクリプトの配布方法

ファイルひとつなら、メールやファイル共有サービスで渡すだけでも利用してもらえます。

単体ファイルの共有

他者に配布するときは、READMEを用意して、実行環境や必要なライブラリを伝えておきましょう。

複雑な依存関係があるなら、requirements.txt などでライブラリ情報をまとめておくと親切です。

バージョン管理システムとの連携

個人的なスクリプトでも、Gitなどを使ってバージョン管理すると、変更履歴を追いやすくなります。

スクリプトの追跡と変更履歴

修正の経緯や、誰がどんなアップデートを行ったかがわかるため、トラブルシューティングもしやすくなります。

スクリプトは意外とライフサイクルが長くなることがあります。バージョン管理システムで扱うようにすると、状況に応じて以前の状態に戻せたり、差分を比較できたりするため便利です。

まとめ

ここまで、Pythonスクリプト の基礎や実際の活用シーン、コード例を見てきました。

シンプルに書けることや豊富なライブラリを活用できることから、日常業務でも役に立つ場面は多いと思います。

ファイル操作、データ処理、ネットワークアクセスなど、あらゆる分野でPythonスクリプトを作ってみると、手動作業が減って時間を有効に使いやすくなるでしょう。

最後にポイントをまとめます。

  • Pythonスクリプトは .py ファイルにコードを書き、ターミナルで python スクリプト名.py で実行する
  • 変数やリスト、関数などの基本機能を使いこなせば、シンプルなタスクを自動化しやすい
  • 標準ライブラリや外部ライブラリを組み合わせると、多彩な用途に対応可能
  • 規模が大きくなったら、モジュール分割やバージョン管理を導入して保守しやすくする
  • スクリプトが複雑化したり、依存関係が増えたりする場合には、仮想環境を使って整合性を保つ

Pythonスクリプトの魅力は、思い立ったらすぐに小さなプログラムを作り、さまざまな場面で活用できることです。初心者でも工夫しながら進めやすいので、ぜひ試してみてください。

Pythonをマスターしよう

この記事で学んだPythonの知識をさらに伸ばしませんか?
Udemyには、現場ですぐ使えるスキルを身につけられる実践的な講座が揃っています。