2024-04-12

Pythonでキーボードのキーを押したとき、離したときに処理を割り当てるよ

Pythonでキーボードのキーを押したとき、離したときに処理を割り当てるよ

キーボードのキーを押したとき、離したときに処理を割り当てるよ

# キーボード操作するためのモジュールだよ ($ pip install keyboardで別途インストールしてね)
import keyboard
# 特定のキーを定義するよ
keyValue = 'ctrl'
# 特定のキーが押されたときに呼び出すよ
def on_ctrl_press(event):
    if event.name == keyValue:
        print(f'{keyValue}キーが押している')
# 特定のキーが離されたときに呼び出すよ
def on_ctrl_release(event):
    if event.name == keyValue:
        print(f'{keyValue}キーが離された')

# ガイドメッセージを表示するよ
print(keyValue + "を押してね。終了するには ESC を押してね。")
# 特定のキーが押されたときと離したときのイベントを割り当てるよ
keyboard.on_press_key(keyValue, on_ctrl_press)
keyboard.on_release_key(keyValue, on_ctrl_release)
# プログラムが終了するまで待機しESCで終了するよ
keyboard.wait('esc')
# 登録したすべてのイベントリスナーを削除するよ
keyboard.unhook_all()

実行結果(ctrlを少し長押し、ctrlの順に押した場合)

ctrlを押してね。終了するには ESC を押してね。
ctrlキーが押している
ctrlキーが押している
ctrlキーが押している
ctrlキーが離された
ctrlキーが押している
ctrlキーが離された

2024-04-11

Pythonでキーボードの特定のキーを入力したとき別の文字を追加で入力するよ

Pythonでキーボードの特定のキーを入力したとき別の文字を追加で入力するよ

キーボードの特定のキーを入力したとき別の文字を追加で入力するよ

# キーボード操作するためのモジュールだよ ($ pip install keyboardで別途インストールしてね)
import keyboard
# 特定のキーが押されたときにメッセージを入力するよ
def onKeyEvent(event):
    if event.event_type == keyboard.KEY_DOWN:
        if event.name in ('a','b'):
            keyboard.write("キーを押すとこの文字が入力されるよ")

# キーボードが押されたときの処理を割り当てるよ
keyboard.on_press(onKeyEvent)
# ガイドメッセージを表示するよ
print("aかbを押してね。終了するには ESC を押してね。")
# プログラムが終了するまで待機しESCで終了するよ
keyboard.wait('esc')
# 登録したすべてのイベントリスナーを削除するよ
keyboard.unhook_all()

実行結果(a、b、c、dの順に押した場合)

aかbを押してね。終了するには ESC を押してね。
aキーを押すとこの文字が入力されるよ
bキーを押すとこの文字が入力されるよ
c
d

2024-04-10

Pythonでキーボードの特定のキーの入力を無効にするよ

Pythonでキーボードの特定のキーの入力を無効にするよ

キーボードの特定のキーの入力を無効にするよ

# キーボード操作するためのモジュールだよ ($ pip install keyboardで別途インストールしてね)
import keyboard
# 割り当てるキーを定義するよ
keyValue = 's'
# 特定のキーの入力を無効にするよ
keyboard.block_key(keyValue)
# ガイドメッセージを表示するよ
print("何かキーを押してね。sは押せないよ。終了するには ESC を押してね。")
# ESCキーが押されたら処理を終了するよ
while True:
    # 入力されたキーを取得するよ
    inputValue = keyboard.read_key()
    # ESCキーが押されたら処理終了
    if inputValue == 'esc':
        break
    # 入力されたキーを表示するよ
    print(inputValue + "キーが押されたよ")
# 登録したすべてのイベントリスナーを削除するよ
keyboard.unhook_all()

実行結果(a、s、dの順に押した場合)

何かキーを押してね。sは押せないよ。終了するには ESC を押してね。
aキーが押されたよ
aキーが押されたよ
dキーが押されたよ
dキーが押されたよ

2024-04-09

Pythonでキーボードのキーが押されるまで待機するよ

Pythonでキーボードのキーが押されるまで待機するよ

キーボードのキーが押されるまで待機するよ

# キーボード操作するためのモジュールだよ ($ pip install keyboardで別途インストールしてね)
import keyboard
# 割り当てるキーを定義するよ
keyValue = 'shift'
# ガイドメッセージを表示するよ
print(keyValue + "キーを押すと終了するよ。")
# 特定のキーが押されるまで待機するよ
keyboard.wait(keyValue)
# 結果のメッセージを表示するよ
print('シフトキーが押されたよ。')

実行結果(shiftキーを押した場合)

shiftキーを押すと終了するよ。
シフトキーが押されたよ。

2024-04-08

Pythonでキーボードのキーを押して離したときに処理をするよ

Pythonでキーボードのキーを押して離したときに処理をするよ

キーボードのキーを押して離したときに処理をするよ

# キーボード操作するためのモジュールだよ ($ pip install keyboardで別途インストールしてね)
import keyboard
# 割り当てるキーを定義するよ
keyValue = 'ctrl'
# 特定のキーを押してから離したときにメッセージを表示するよ
keyboard.on_release_key(keyValue, lambda event: print("キーが離されました"))
# ガイドメッセージを表示するよ
print(keyValue + "キーを押して離すとメッセージを表示するよ。")
# プログラムが終了するまで待機しESCで終了するよ
keyboard.wait('esc')
# 割り当てしたキーを削除するよ
keyboard.unhook_all()

実行結果(ctrlキーを押して離してを2回行った場合)

ctrlキーを押して離すとメッセージを表示するよ。
キーが離されました
キーが離されました

2024-04-07

Pythonでキーボードから入力した内容をリストに格納して表示するよ

Pythonでキーボードから入力した内容をリストに格納して表示するよ

キーボードから入力した内容をリストに格納して表示するよ

# キーボード操作するためのモジュールだよ ($ pip install keyboardで別途インストールしてね)
import keyboard
# ガイドメッセージを表示するよ
print("何かキーを押してね。終了するには ESC を押してね。")
# 入力されたキーボードの値をリストに格納するよ
# 終了するときはESCを押してね
recChars = keyboard.record(until='esc')
# 格納した内容をすべて表示するよ
for recChar in recChars:
    print(recChar)
# 登録したすべてのイベントリスナーを削除するよ
keyboard.unhook_all_hotkeys()

実行結果(a、b、c、Escキーを押した場合)

何かキーを押してね。終了するには ESC を押してね。
KeyboardEvent(a down)
KeyboardEvent(a up)
KeyboardEvent(b down)
KeyboardEvent(b up)
KeyboardEvent(c down)
KeyboardEvent(c up)
KeyboardEvent(esc down)

キーボードから入力したキーの名前をリストに格納して表示するよ

# キーボード操作するためのモジュールだよ ($ pip install keyboardで別途インストールしてね)
import keyboard
# ガイドメッセージを表示するよ
print("何かキーを押してね。終了するには ESC を押してね。")
# 入力されたキーボードの値をリストに格納するよ
# 終了するときはESCを押してね
recChars = keyboard.record(until='esc')
# キーの名称だけ表示するよ
for recChar in recChars:
    # キー入力には1回でDownとUpがあるから2つ表示されるよ
    print(recChar.name)
# 登録したすべてのイベントリスナーを削除するよ
keyboard.unhook_all_hotkeys()

実行結果(a、b、c、Escキーを押した場合)

何かキーを押してね。終了するには ESC を押してね。
a
a
b
b
c
c
esc

Pythonでキーボードの入力をしたときに何か処理をするよ

Pythonでキーボードの入力をしたときに何か処理をするよ

キーボードの入力をしたときに何か処理をするよ(関数バージョン)

# キーボード操作するためのモジュールだよ ($ pip install keyboardで別途インストールしてね)
import keyboard
# 割り当てるキーを定義するよ
keyValue = 'ctrl'
# 割り当てたキーが押されたときの処理だよ
def onKeyEvent():
    print(keyValue + "キーが押されたよ")

# キーに処理を割り当てるよ(関数バージョン)
keyboard.add_hotkey(keyValue, onKeyEvent)
# ガイドメッセージを表示するよ
print(keyValue + "キーを押してね。終了するには ESC を押してね。")
# プログラムが終了するまで待機しESCで終了するよ
keyboard.wait('esc')
# 割り当てしたキーを削除するよ
keyboard.remove_hotkey(keyValue)

実行結果(Ctrlキーを3回押してEscキーを押した場合)

ctrlキーを押してね。終了するには ESC を押してね。
ctrlキーが押されたよ
ctrlキーが押されたよ
ctrlキーが押されたよ

キーボードの入力をしたときに何か処理をするよ(無名関数バージョン)

# キーボード操作するためのモジュールだよ ($ pip install keyboardで別途インストールしてね)
import keyboard
# 割り当てるキーを定義するよ
keyValue = 'ctrl'
# キーに処理を割り当てるよ(無名関数バージョン)
keyboard.add_hotkey(keyValue, lambda: print(keyValue + "キーが押されたよ"))
# ガイドメッセージを表示するよ
print(keyValue + "キーを押してね。終了するには ESC を押してね。")
# プログラムが終了するまで待機しESCで終了するよ
keyboard.wait('esc')
# 割り当てしたキーを削除するよ
keyboard.remove_hotkey(keyValue)

実行結果(Ctrlキーを4回押してEscキーを押した場合)

ctrlキーを押してね。終了するには ESC を押してね。
ctrlキーが押されたよ
ctrlキーが押されたよ
ctrlキーが押されたよ
ctrlキーが押されたよ

複数のキーの組み合わせでキーボードの入力をしたときに何か処理をするよ

# キーボード操作するためのモジュールだよ ($ pip install keyboardで別途インストールしてね)
import keyboard
# 割り当てるキーを定義するよ
keyValue = 'ctrl+shift+l'
# 割り当てたキーが押されたときの処理だよ
def onKeyEvent():
    print(keyValue + "キーが押されました")

# キーに処理を割り当てるよ
keyboard.add_hotkey(keyValue, onKeyEvent)
# ガイドメッセージを表示するよ
print(keyValue + "キーを押してね。終了するには ESC を押してね。")
# プログラムが終了するまで待機しESCで終了するよ
keyboard.wait('esc')
# 割り当てしたキーを削除するよ
keyboard.remove_hotkey(keyValue)

実行結果(CtrlとShiftとLキーを2回押してEscキーを押した場合)

ctrl+shift+lキーを押してね。終了するには ESC を押してね。
ctrl+shift+lキーが押されたよ
ctrl+shift+lキーが押されたよ

割り当てしたキーをすべて削除するよ

# キーボード操作するためのモジュールだよ ($ pip install keyboardで別途インストールしてね)
import keyboard
# キーに処理を割り当てるよ
keyboard.add_hotkey('ctrl', lambda: print("ctrlキーが押されたよ"))
keyboard.add_hotkey('shift', lambda: print("shiftキーが押されたよ"))
keyboard.add_hotkey('alt', lambda: print("altキーが押されたよ"))
# ガイドメッセージを表示するよ
print("ctrlかshiftかaltキーを押してね。終了するには ESC を押してね。")
# プログラムが終了するまで待機しESCで終了するよ
keyboard.wait('esc')
# 割り当てしたキーをすべて削除するよ
keyboard.unhook_all()

実行結果(Ctrlキー2回、Shiftキー1回、Altキー3回押してEscキーを押した場合)

ctrlかshiftかaltキーを押してね。終了するには ESC を押してね。
ctrlキーが押されたよ
ctrlキーが押されたよ
shiftキーが押されたよ
altキーが押されたよ
altキーが押されたよ
altキーが押されたよ

2024-04-06

Pythonでキーボードの入力を待って入力されたら何か処理をするよ

Pythonでキーボードの入力を待って入力されたら何か処理をするよ

キーボードの入力を待って入力されたら何か処理をするよ

# キーボード操作するためのモジュールだよ ($ pip install keyboardで別途インストールしてね)
import keyboard
# ガイドメッセージを表示するよ
print("何かキーを押してね。")
# 入力されたキーを取得するよ
keyValue = keyboard.read_key()
# 入力されたキーを表示するよ
print(keyValue + "キーが押されたよ")

実行結果(Ctrlキーを押してEscキーが押された場合)

何かキーを押してね。
Ctrlキーが押されたよ

実行結果(Shiftキーを押してEscキーが押された場合)

何かキーを押してね。
Shiftキーが押されたよ

2024-04-05

Pythonでキーボードの入力値を判定するよ

Pythonでキーボードの入力値を判定するよ

キーボードの入力値を判定するよ

# キーボード操作するためのモジュールだよ ($ pip install keyboardで別途インストールしてね)
import keyboard
# 特定のキーが押されたときにメッセージを表示するよ
def onKeyEvent(event):
    if keyboard.is_pressed("ctrl"):
        print("Ctrlキーが押されたよ")
    elif keyboard.is_pressed("shift"):
        print("Shiftキーが押されたよ")

# キーボードからの入力によってメッセージを返すよ
keyboard.on_press(onKeyEvent)
# ガイドメッセージを表示するよ
print("CtrlかShiftキーを押してね。終了するには ESC を押してね。")
# プログラムが終了するまで待機しESCで終了するよ
keyboard.wait('esc')
# 登録したすべてのイベントリスナーを削除するよ
keyboard.unhook_all()

実行結果(Ctrlキーを押してEscキーが押された場合)

CtrlかShiftキーを押してね。終了するには ESC を押してね。
Ctrlキーが押されたよ

実行結果(Shiftキーを押してEscキーが押された場合)

CtrlかShiftキーを押してね。終了するには ESC を押してね。
Shiftキーが押されたよ

2024-04-04

Pythonでクリップボードを操作するよ

Pythonでクリップボードを操作するよ

クリップボードにテキストをコピーするよ

実行前 (クリップボード)

データなし
# クリップボードを操作するモジュールだよ($ pip install pyperclipで別途インストールしてね)
import pyperclip
# クリップボードにテキストをコピーするよ
pyperclip.copy("Pythonでこの文字をクリップボードにコピーするよ")

実行結果 (クリップボード)

Pythonでこの文字をクリップボードにコピーするよ

クリップボードからテキストを取得するよ

実行前 (クリップボード)

Pythonでこの文字をクリップボードから取り出すよ
# クリップボードを操作するモジュールだよ($ pip install pyperclipで別途インストールしてね)
import pyperclip
# クリップボードからテキストを取得するよ
text = pyperclip.paste()
print("クリップボードの内容:", text)

実行結果

Pythonでこの文字をクリップボードから取り出すよ

2024-04-03

Pythonでビープ音を鳴らすよ

Pythonでビープ音を鳴らすよ

ビープ音を鳴らすよ

# Windows用のモジュールだよ
import winsound
# 1000 Hz
frequency = 1000
# ミリ秒を指定するよ
duration = 500
# 1000 Hzのビープ音を0.5秒再生する
winsound.Beep(frequency, duration)

実行結果

ピッと音が鳴るよ

2024-04-02

Pythonでzip形式のファイルを解凍するよ

Pythonでzip形式のファイルを解凍するよ

zip形式のファイルを解凍するよ

実行前

D:\
└─Pythonで作成したフォルダ\
   ├─Temp\
   ├─あああ.txt
   ├─いいい.csv
   ├─ううう.txt
   ├─たたた.jpg
   └─圧縮.zip
     ├─あああ.txt
     └─いいい.csv
# zipファイルの圧縮と解凍を行うモジュールを読み込むよ
import zipfile
# 
# zip形式のファイルを解凍するよ
# 
def unzip_file(zipFilename, extract_folder):
    # zipファイルを読み込みモードで開くよ
    with zipfile.ZipFile(zipFilename, 'r') as zip:
        # zip形式のファイルを解凍するよ
        zip.extractall(extract_folder)
    return

# 解凍するZIPファイル名と解凍先のフォルダを指定
zipFilename = r"D:\Pythonで作成したフォルダ\圧縮.zip"
unzipFolder = r"D:\Pythonで作成したフォルダ\Temp"
# zip形式のファイルを解凍するよ
unzip_file(zipFilename, unzipFolder)

実行結果

D:\
└─Pythonで作成したフォルダ\
   ├─Temp\
   │ ├─あああ.txt
   │ └─いいい.csv
   ├─あああ.txt
   ├─いいい.csv
   ├─ううう.txt
   ├─たたた.jpg
   └─圧縮.zip
     ├─あああ.txt
     └─いいい.csv

Pythonでファイルをzip形式で圧縮するよ

Pythonでファイルをzip形式で圧縮するよ

ファイルをzip形式で圧縮するよ

実行前

D:\
└─Pythonで作成したフォルダ\
   ├─Temp\
   ├─あああ.txt
   ├─いいい.csv
   ├─ううう.txt
   └─たたた.jpg
# zipファイルの圧縮と解凍を行うモジュールを読み込むよ
import zipfile
# OS関連の機能のモジュールを読み込むよ
import os
# 
# ファイルをzip形式で圧縮するよ
# 
def zip_file(filenames, zipFilename):
    # zipファイルを作成して書き込みモードで開くよ
    with zipfile.ZipFile(zipFilename, 'w') as zip:
        # 圧縮するファイルを追加するよ
        for filename in filenames:
            zip.write(filename, arcname=os.path.basename(filename))
    return

# 圧縮するファイルだよ
filenames = [r"D:\Pythonで作成したフォルダ\あああ.txt", \
             r"D:\Pythonで作成したフォルダ\いいい.csv"]
# 圧縮後のファイル名だよ
zipFilename = r"D:\Pythonで作成したフォルダ\圧縮.zip"
# ファイルをzip形式で圧縮するよ
zip_file(filenames, zipFilename)

実行結果

D:\
└─Pythonで作成したフォルダ\
   ├─Temp\
   ├─あああ.txt
   ├─いいい.csv
   ├─ううう.txt
   ├─たたた.jpg
   └─圧縮.zip
     ├─あああ.txt
     └─いいい.csv

2024-04-01

Pythonでレジストリから値を読むよ

Pythonでレジストリから値を読むよ

レジストリから値を読むよ

実行前

# レジストリを操作するモジュールを読み込むよ
import winreg
# 読み込むパスだよ
targetPath = r"SOFTWARE\PythonTest"
# 読み込む値の情報だよ
valueName = "SettingName"
# レジストリから値を読み込むよ
try:
    # レジストリキーを開くよ
    key = winreg.OpenKey(winreg.HKEY_CURRENT_USER, targetPath, 0, winreg.KEY_READ)
    # 値を読み込むよ
    value, _ = winreg.QueryValueEx(key, valueName)
    print(value)
finally:
    # レジストリキーを閉じるよ
    winreg.CloseKey(key)

実行結果

TestValue

Pythonでレジストリに値を書くよ

Pythonでレジストリに値を書くよ

レジストリに値を書くよ

実行前

# レジストリを操作するモジュールを読み込むよ
import winreg
# 書き込むパスだよ
targetPath = r"SOFTWARE\PythonTest"
# 書き込む値の情報だよ
valueName = "SettingName"
ValueData = "TestValue"
# レジストリに値を書き込むよ
try:
    # レジストリキーを開くよ(存在しないときは作成されるよ)
    key = winreg.CreateKey(winreg.HKEY_CURRENT_USER, targetPath)
    # レジストリに値を書き込むよ
    winreg.SetValueEx(key, valueName, 0, winreg.REG_SZ, ValueData)
finally:
    # レジストリキーを閉じるよ
    winreg.CloseKey(key)

実行結果

2024-03-31

Pythonでiniファイルの値を読むよ

Pythonでiniファイルの値を読むよ

iniファイルの値を読むよ

実行前 (AppSetting.ini)

[東京本社]
住所 = 東京都渋谷区渋谷
[EOF]
# 構成ファイルを操作するモジュールを読み込むよ
import configparser
# iniファイルのパスだよ
iniFilePath = 'D:\AppSetting.ini'
# iniファイルを読み込むよ
config = configparser.ConfigParser()
config.read(iniFilePath)
# セクションとオプションを指定して値を取得するよ
section = "東京本社"
option = "住所"
value = config.get(section, option)
print(value)

実行結果

東京都渋谷区渋谷

Pythonでiniファイルに値を書くよ

Pythonでiniファイルに値を書くよ

iniファイルに値を書くよ

実行前 (AppSetting.ini)

[東京本社]
住所 = 東京都渋谷区渋谷
[EOF]
# 構成ファイルを操作するモジュールを読み込むよ
import configparser
# iniファイルのパスだよ
iniFilePath = 'D:\AppSetting.ini'
# iniファイルを書き込むよ
config = configparser.ConfigParser()
# 書き込むセクションとオプションと値を指定するよ
section = "東京本社"
option = "住所"
value = "東京都港区三田"
config[section] = {option: value}
# 値を書き込むよ
with open(iniFilePath, 'w') as iniFile:
    config.write(iniFile)

実行結果 (AppSetting.ini)

[東京本社]
住所 = 東京都港区三田
[EOF]

2024-03-30

Pythonでパスの末尾とそれ以外を分割して取得するよ

Pythonでパスの末尾とそれ以外を分割して取得するよ

パスの末尾(ファイル名)とそれ以外を分割して取得するよ

# OS関連の機能のモジュールを読み込むよ
import os
# パスの末尾(ファイル名)とそれ以外を分割するよ
path = r"D:\Pythonで作成したフォルダ\あああ.csv"
pathName, pathLastName = os.path.split(path)
# 結果を表示するよ
print(pathName)
print(pathLastName)

実行結果

D:\Pythonで作成したフォルダ
あああ.csv

パスの末尾(フォルダ)とそれ以外を分割して取得するよ

# OS関連の機能のモジュールを読み込むよ
import os
# パスの末尾(フォルダ)とそれ以外を分割するよ
path = r"D:\Pythonで作成したフォルダ"
pathName, pathLastName = os.path.split(path)
# 結果を表示するよ
print(pathName)
print(pathLastName)

実行結果

D:\
Pythonで作成したフォルダ

Pythonでホームディレクトリのパスを取得するよ

Pythonでホームディレクトリのパスを取得するよ

ホームディレクトリのパスを取得するよ

# OS関連の機能のモジュールを読み込むよ
import os
# ホームディレクトリのパスを取得するよ
homeDir = os.path.expanduser('~')
print(homeDir)

実行結果

C:\Users\kumashi

Pythonで実行しているPythonファイル(.pyや.ipynbなど)のパスを取得するよ

Pythonで実行しているPythonファイル(.pyや.ipynbなど)のパスを取得するよ

実行しているPythonファイル(.pyや.ipynbなど)のパスを取得するよ

# OS関連の機能のモジュールを読み込むよ
import os
# 現在の作業ディレクトリを取得する
current_dir = os.getcwd()
print(current_dir)

実行結果

C:\Users\Kumashi\PythonTest

2024-03-29

Pythonでパスが指定した拡張子を持っているかどうかを確認するよ

Pythonでパスが指定した拡張子を持っているかどうかを確認するよ

パスが指定した拡張子を持っているかどうかを確認するよ

# パスが指定した拡張子を持っているかどうかを確認するよ
path = 'D:\Pythonで作成したフォルダ\Temp\あああ.csv'
extension = '.csv'
has_extension = path.endswith(extension)
if has_extension:
    print('指定した拡張子だよ')
else:
    print('指定した拡張子ではないよ')

実行結果

指定した拡張子だよ

Pythonでパスの要素をリストにして取得するよ

Pythonでパスの要素をリストにして取得するよ

パスの要素をリストにして取得するよ

# OS関連の機能のモジュールを読み込むよ
import os
# パスの要素をリストにして取得するよ
path = 'D:\Pythonで作成したフォルダ\Temp\あああ.csv'
path_elements = path.split(os.sep)
print(path_elements)

実行結果

['D:', 'Pythonで作成したフォルダ', 'Temp', 'あああ.csv']

2024-03-28

Pythonでパスがフォルダなのか確認するよ

Pythonでパスがフォルダなのか確認するよ
※指定したフォルダがないと確認できないから注意してね!

パスがフォルダなのか確認するよ

# OS関連の機能のモジュールを読み込むよ
import os
# ファイルを指定するよ
targetPath = r"D:\Pythonで作成したフォルダ\あああ.csv"
# パスがフォルダなのか確認するよ
if os.path.isdir(targetPath):
    print(f"『 {targetPath} 』" + "はフォルダ")
else:
    print(f"『 {targetPath} 』" + "はフォルダではない")

# フォルダを指定するよ
targetPath = r"D:\Pythonで作成したフォルダ"
# パスがフォルダなのか確認するよ
if os.path.isdir(targetPath):
    print(f"『 {targetPath} 』" + "はフォルダ")
else:
    print(f"『 {targetPath} 』" + "はフォルダではない")

実行結果

『 D:\Pythonで作成したフォルダ\あああ.csv 』はフォルダではない
『 D:\Pythonで作成したフォルダ 』はフォルダ

Pythonでパスがファイルなのか確認するよ

Pythonでパスがファイルなのか確認するよ
※指定したファイルがないと確認できないから注意してね!

パスがファイルなのか確認するよ

# OS関連の機能のモジュールを読み込むよ
import os
# ファイルを指定するよ
targetPath = r"D:\Pythonで作成したフォルダ\あああ.csv"
# パスがファイルかどうかを確認するよ
if os.path.isfile(targetPath):
    print(f"『 {targetPath} 』" + "はファイル")
else:
    print(f"『 {targetPath} 』" + "はファイルではない")

# フォルダを指定するよ
targetPath = r"D:\Pythonで作成したフォルダ"
# パスがファイルかどうかを確認するよ
if os.path.isfile(targetPath):
    print(f"『 {targetPath} 』" + "はファイル")
else:
    print(f"『 {targetPath} 』" + "はファイルではない")

実行結果

『 D:\Pythonで作成したフォルダ\あああ.csv 』はファイル
『 D:\Pythonで作成したフォルダ 』はファイルではない

Pythonでフォルダ名とファイル名を結合してパスを取得するよ

Pythonでフォルダ名とファイル名を結合してパスを取得するよ

フォルダ名とファイル名を結合してパスを取得するよ

# OS関連の機能のモジュールを読み込むよ
import os
# パスのフォルダ名とファイル名を結合するよ
dirName = r"D:\Pythonで作成したフォルダ"
fileName = "あああ.csv"
fullPath = os.path.join(dirName, fileName)
# 結果を表示するよ
print(fullPath)

実行結果

D:\Pythonで作成したフォルダ\あああ.csv

2024-03-27

Pythonでファイルの拡張子を変更するよ

Pythonでファイルの拡張子を変更するよ

ファイルの拡張子を変更するよ

実行前

D:\
└─Pythonで作成したフォルダ\
   ├─Temp\
   │  └─あああ.txt
   ├─いいい.txt
   ├─ううう.txt
   └─たたた.jpg
# OS関連の機能のモジュールを読み込むよ
import os
#
# ファイルの拡張子を変更するよ
#
def change_extension(filename, newExtension):
    # 拡張子より前のパスを取得するよ
    filePath = os.path.splitext(filename)[0]
    # 変更後の拡張子のファイルにリネームするよ
    os.rename(filename, filePath + newExtension)
    return

# ファイル名と新しい拡張子を指定する
filename = r"D:\Pythonで作成したフォルダ\いいい.txt"
newExtension = ".csv"
# ファイルの拡張子を変更するよ
change_extension(filename, newExtension)

実行結果

D:\
└─Pythonで作成したフォルダ\
   ├─Temp\
   │  └─あああ.txt
   ├─いいい.csv
   ├─ううう.txt
   └─たたた.jpg

Pythonでファイルの拡張子を取得するよ

Pythonでファイルの拡張子を取得するよ

ファイルの拡張子を取得するよ

# OS関連の機能のモジュールを読み込むよ
import os
# ファイルの拡張子を取得するよ
filename = r"D:\Pythonで作成したフォルダ\たたた.jpg"
fileExtension = os.path.splitext(filename)[1]
print(fileExtension)

実行結果

.jpg

Pythonでファイル名を変更するよ

Pythonでファイル名を変更するよ

ファイル名を変更するよ

実行前

D:\
└─Pythonで作成したフォルダ\
   ├─Temp\
   │  └─あああ.txt
   ├─いいい.txt
   ├─ううう.txt
   └─かかか.jpg
# OS関連の機能のモジュールを読み込むよ
import os
# ファイル名を変更するよ
oldFilename = r"D:\Pythonで作成したフォルダ\かかか.jpg"
newFilename = r"D:\Pythonで作成したフォルダ\たたた.jpg"
os.rename(oldFilename, newFilename)

実行結果

D:\
└─Pythonで作成したフォルダ\
   ├─Temp\
   │  └─あああ.txt
   ├─いいい.txt
   ├─ううう.txt
   └─たたた.jpg

Pythonでパスからフォルダ名とファイル名を取得するよ

Pythonでパスからフォルダ名とファイル名を取得するよ

パスからフォルダ名を取得するよ

# OS関連の機能のモジュールを読み込むよ
import os
# パスからフォルダ名を取得するよ
targetPath = r"D:\Pythonで作成したフォルダ\あああ.csv"
dirName = os.path.dirname(targetPath)
print(dirName)

実行結果

D:\Pythonで作成したフォルダ

パスからファイル名を取得するよ

# OS関連の機能のモジュールを読み込むよ
import os
# パスからファイル名を取得するよ
path = r"D:\Pythonで作成したフォルダ\あああ.csv"
fileName = os.path.basename(path)
print(fileName)

実行結果

あああ.csv

2024-03-26

Pythonでフォルダをコピーするよ

Pythonでフォルダをコピーするよ

フォルダをコピーするよ

実行前

D:\
└─Pythonで作成したフォルダ\
   ├─Temp\
   │  └─あああ.txt
   ├─いいい.txt
   ├─ううう.txt
   └─たたた.jpg
# シェルユーティリティモジュールを読み込むよ
import shutil
# コピー元、コピー先のフォルダだよ
srcePath = "D:\Pythonで作成したフォルダ\Temp"
destPath = "D:\Pythonで作成したフォルダ\Temp_Copy"
# フォルダをコピーするよ
shutil.copytree(srcePath, destPath)

実行結果

D:\
└─Pythonで作成したフォルダ\
   ├─Temp\
   │  └─あああ.txt
   ├─Temp_Copy\
   │  └─あああ.txt
   ├─いいい.txt
   ├─ううう.txt
   └─たたた.jpg

Pythonでフォルダを移動するよ

Pythonでフォルダを移動するよ

フォルダを移動するよ

実行前

D:\
└─Pythonで作成したフォルダ\
   ├─Temp\
   │  └─あああ.txt
   ├─Temp_Copy\
   │  └─あああ.txt
   ├─いいい.txt
   ├─ううう.txt
   └─たたた.jpg
# シェルユーティリティモジュールを読み込むよ
import shutil
# 移動元、移動先のフォルダだよ
srcePath = r"D:\Pythonで作成したフォルダ\Temp_Copy"
destPath = r"D:\Temp_Copy"
# フォルダを移動するよ
shutil.move(srcePath, destPath)

実行結果

D:\
├─Pythonで作成したフォルダ\
│ ├─Temp\
│ │  └─あああ.txt
│ ├─いいい.txt
│ ├─ううう.txt
│ └─たたた.jpg
└─Temp_Copy\
    └─あああ.txt

2024-03-25

Pythonでファイルを削除するよ

Pythonでファイルを削除するよ

ファイルを削除するよ

実行前

D:\
└─Pythonで作成したフォルダ\
   ├─Temp\
   │  └─あああ.txt
   ├─あああ_Copy.txt
   ├─いいい.txt
   ├─ううう.txt
   └─かかか.jpg
# OS関連の機能のモジュールを読み込むよ
import os
# ファイルを削除するよ
os.remove(r"D:\Pythonで作成したフォルダ\あああ_Copy.txt")

実行結果

D:\
└─Pythonで作成したフォルダ\
   ├─Temp\
   │  └─あああ.txt
   ├─いいい.txt
   ├─ううう.txt
   └─かかか.jpg

Pythonでファイルをコピーするよ

Pythonでファイルをコピーするよ

ファイルをコピーするよ

実行前

D:\
└─Pythonで作成したフォルダ\
   ├─Temp\
   ├─あああ.txt
   ├─いいい.txt
   ├─ううう.txt
   └─かかか.jpg
# シェルユーティリティモジュールを読み込むよ
import shutil
# ファイルをコピーするよ
srcePath = r"D:\Pythonで作成したフォルダ\あああ.txt"
destPath = r"D:\Pythonで作成したフォルダ\あああ_Copy.txt"
shutil.copy(srcePath, destPath)

実行結果

D:\
└─Pythonで作成したフォルダ\
   ├─Temp\
   ├─あああ.txt
   ├─あああ_Copy.txt
   ├─いいい.txt
   ├─ううう.txt
   └─かかか.jpg

Pythonでファイルの存在チェックをするよ

Pythonでファイルの存在チェックをするよ

ファイルの存在チェックをするよ

実行前

D:\
└─Pythonで作成したフォルダ\
   ├─Temp\
   ├─あああ.txt
   ├─いいい.txt
   ├─ううう.txt
   └─かかか.jpg
# OS関連の機能のモジュールを読み込むよ
import os
# ファイルの存在チェックをするよ
if os.path.exists(r"D:\Pythonで作成したフォルダ\あああ.txt"):
    print("ファイルは存在します。")
else:
    print("ファイルは存在しません。")

実行結果

ファイルは存在します。

2024-03-24

Pythonでファイルを移動するよ

Pythonでファイルを移動するよ

ファイルを移動するよ

実行前

D:\
└─Pythonで作成したフォルダ\
   ├─Temp\
   ├─あああ.txt
   ├─あああ_Copy.txt
   ├─いいい.txt
   ├─ううう.txt
   └─かかか.jpg
# シェルユーティリティモジュールを読み込むよ
import shutil
# ファイルを移動するよ
srcePath = r"D:\Pythonで作成したフォルダ\あああ.txt"
destPath = r"D:\Pythonで作成したフォルダ\Temp\あああ.txt"
shutil.move(srcePath, destPath)

実行結果

D:\
└─Pythonで作成したフォルダ\
   ├─Temp\
   │  └─あああ.txt
   ├─あああ_Copy.txt
   ├─いいい.txt
   ├─ううう.txt
   └─かかか.jpg

Pythonでフォルダに格納されているすべてのファイルの名前を表示するよ

Pythonでフォルダに格納されているファイルの名前を表示するよ

フォルダに格納されているすべてのファイルの名前を表示するよ

実行前

D:\
└─Pythonで作成したフォルダ\
   ├─あああ.txt
   ├─いいい.txt
   ├─ううう.txt
   └─かかか.jpg
# OS関連の機能のモジュールを読み込むよ
import os
# フォルダ内のすべてのファイルの名前をリスト型で取得するよ
listFiles = os.listdir(r"D:\Pythonで作成したフォルダ")
# ファイル名を表示するよ
print(listFiles)

実行結果

['あああ.txt', 'いいい.txt', 'ううう.txt', 'かかか.jpg']

フォルダに格納されている指定した拡張子のファイルの名前を表示するよ

実行前

D:\
└─Pythonで作成したフォルダ\
   ├─あああ.txt
   ├─いいい.txt
   ├─ううう.txt
   └─かかか.jpg
# OS関連の機能のモジュールを読み込むよ
import os
# 拡張子が"txt"のファイルを表示するよ
targetFolderPath = r"D:\Pythonで作成したフォルダ"
files = [file for file in os.listdir(targetFolderPath) if file.endswith('.txt')]
print(files)

実行結果

['あああ.txt', 'いいい.txt', 'ううう.txt']

Pythonでフォルダを削除するよ

Pythonでフォルダを削除するよ

フォルダを削除するよ

実行前

D:\
└─Pythonで作成したフォルダ\
# シェルユーティリティモジュールを読み込むよ
import shutil
# フォルダを削除するよ
shutil.rmtree(r"D:\Pythonで作成したフォルダ")

実行結果

D:\
サブフォルダーは存在しません

2024-03-23

Pythonでフォルダが存在するかチェックするよ

Pythonでフォルダが存在するかチェックするよ

フォルダが存在するかチェックするよ

実行前

D:\
└─Pythonで作成したフォルダ\
# OS関連の機能のモジュールを読み込むよ
import os
# フォルダの存在チェックをするよ
if os.path.exists(r"D:\Pythonで作成したフォルダ"):
    print("フォルダは存在します")
else:
    print("フォルダは存在しません")

実行結果

フォルダは存在します

Pythonでフォルダを作成するよ

Pythonでフォルダを作成するよ

フォルダを作成するよ

実行前

D:\
サブフォルダーは存在しません
# OS関連の機能のモジュールを読み込むよ
import os
# フォルダを作成するよ
os.mkdir(r"D:\Pythonで作成したフォルダ")

実行結果

D:\
└─Pythonで作成したフォルダ\

2024-03-22

Pythonで加算、減算、乗算、除算、べき乗、商、余りを計算するよ

Pythonで加算、減算、乗算、除算、べき乗、商、余りを計算するよ

加算だよ

# 加算だよ
val_result = 5 + 3
print(val_result)

実行結果

8

減算だよ

# 減算だよ
val_result = 5 - 3
print(val_result)

実行結果

2

乗算だよ

# 乗算だよ
val_result = 5 * 3
print(val_result)

実行結果

15

除算だよ

# 除算だよ
val_result = 5 / 3
print(val_result)

実行結果

1.6666666666666667

べき乗だよ

# べき乗だよ
val_result = 5 ** 3
print(val_result)

実行結果

125

商だよ

# 商
val_result = 5 // 3
print(val_result)

実行結果

1

余りだよ

# 余り
val_result = 5 % 3
print(val_result)

実行結果

2

2024-03-21

Pythonで文字列の先頭または末尾から指定した文字を検索して文字列を分割するよ

Pythonで文字列の先頭または末尾から指定した文字を検索して文字列を分割するよ

文字列の先頭から指定した文字を検索して文字列を分割するよ

# 対象文字列だよ
targetText = "12月1日は日曜日で祝日、晴れの日でした"
# 検索文字列だよ
findText = "日"
# 文字列の先頭から"日"を検索して最初に見つかった位置を取得するよ
index = targetText.find(findText)
# 見つかった位置より前の文字を表示するよ
print(targetText[:index])
# 見つかった位置以降の文字を表示するよ
print(targetText[index:])

実行結果

12月1
日は日曜日で祝日、晴れの日でした

文字列の末尾から指定した文字を検索して文字列を分割するよ

# 対象文字列だよ
targetText = "12月1日は日曜日で祝日、晴れの日でした"
# 検索文字列だよ
findText = "日"
# 文字列の末尾から"日"を検索して最初に見つかった位置を取得するよ
index = targetText.rfind(findText)
# 見つかった位置より前の文字を表示するよ
print(targetText[:index])
# 見つかった位置以降の文字を表示するよ
print(targetText[index:])

実行結果

12月1日は日曜日で祝日、晴れの
日でした

2024-03-20

Pythonで文字列を指定した文字位置で分割するよ

Pythonで文字列を指定した文字位置で分割するよ。

文字列の先頭から指定した文字位置で分割するよ

# 対象文字列だよ
targetText = "12月1日は日曜日で祝日、晴れの日でした"
# 先頭から5文字目を表示するよ
print(targetText[:5])
# 先頭から5文字目以降を表示するよ
print(targetText[5:])

実行結果

12月1日
は日曜日で祝日、晴れの日でした

文字列の末尾から指定した文字位置で分割するよ

# 対象文字列だよ
targetText = "12月1日は日曜日で祝日、晴れの日でした"
# 末尾から7文字目を表示するよ
print(targetText[-7:])
# 末尾から7文字目以前を表示するよ
print(targetText[:-7])

実行結果

晴れの日でした
12月1日は日曜日で祝日、

Pythonで文字列に指定した文字が含まれているかチェックするよ

Pythonで文字列に指定した文字が含まれているかチェックするよ

文字列に指定した文字が含まれているかチェックするよ

# 対象文字列だよ(外人が驚愕する日本語だよ。"日"の読み方がエグいね)
targetText = "12月1日は日曜日で祝日、晴れの日でした"
# "祝日"が含まれているかチェックするよ
if "祝日" in targetText:
    print("含まれています")
else:
    print("含まれていません")

実行結果

含まれています

Pythonで文字列の文字数とバイト数(Windows環境)を取得するよ

Pythonで文字列の文字数とバイト数(Windows環境)を取得するよ

文字列の文字数を取得するよ(半角文字)

# 対象文字列の文字数を表示するよ
targetText = "12345"
print(len(targetText))

実行結果

5

文字列の文字数を取得するよ(全角文字)

# 対象文字列の文字数を表示するよ
targetText = "あいうえお"
print(len(targetText))

実行結果

5

文字列のバイト数を取得するよ(半角文字)

# 対象文字列のバイト数を表示するよ
targetText = "12345"
print(len(targetText.encode('sjis')))

実行結果

5

文字列のバイト数を取得するよ(全角文字)

# 対象文字列のバイト数を表示するよ
targetText = "あいうえお"
print(len(targetText.encode('sjis')))

実行結果

10

Pythonで文字列を指定の文字で区切ってリストに格納するよ

Pythonで文字列を指定の文字で区切ってリストに格納するよ

文字列を指定の文字で区切ってリストに格納するよ

# 対象文字列だよ
targetText = "D:\サザエ.txt;D:\カツオ.txt;D:\ワカメ.txt"
# セミコロンごとに文字列を区切ってリストに格納するよ
targetList = targetText.split(";")
# 結果を表示するよ
print(targetList)

実行結果

['D:\\サザエ.txt', 'D:\\カツオ.txt', 'D:\\ワカメ.txt']

Pythonで文字列を置換するよ

Pythonで文字列を置換するよ

文字列を置換するよ

# 置換前の文字だよ
brforeText = "D:\サザエ.txt;D:\カツオ.txt;D:\ワカメ.txt;"
# セミコロンを改行に置換した結果を表示するよ
AfterText = brforeText.replace(";", "\n")
print(AfterText)

実行結果

D:\サザエ.txt
D:\カツオ.txt
D:\ワカメ.txt

Pythonで文字列を全角や半角へ変換するよ

Pythonで文字列を全角や半角へ変換するよ

文字列を全角へ変換するよ

# 全角半角を変換するモジュールだよ($ pip install mojimojiで別途インストールしてね)
import mojimoji
# すべて全角に変換するよ
targetText = "Komoji"
print(f"大文字に変換した結果は「{mojimoji.han_to_zen(targetText)}」")

実行結果

大文字に変換した結果は「Komoji」

文字列を半角へ変換するよ

# 全角半角を変換するモジュールだよ
import mojimoji
# すべて半角に変換するよ
targetText = "oomoji"
print(f"小文字に変換した結果は「{mojimoji.zen_to_han(targetText)}」")

実行結果

小文字に変換した結果は「oomoji」