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」

Pythonで文字列を大文字や小文字へ変換するよ

Pythonで文字列を大文字や小文字へ変換するよ

文字列を小文字から大文字へ変換するよ

# 対象文字列だよ
targetText = "I'm in Love"
# すべて大文字に変換するよ
print(targetText.upper())

実行結果

I'M IN LOVE

文字列を大文字から小文字へ変換するよ

# 対象文字列だよ
targetText = "I'm in Love"
# すべて小文字に変換するよ
print(targetText.lower())

実行結果

i'm in love

2024-03-19

Pythonで文字列から空白を削除するよ

Pythonで文字列から空白を削除するよ。

先頭の空白を削除するよ

# 対象文字列だよ(先頭と末尾に空白が入っていることに注目してね)
targetText = "  わたしは きのこ が食べれないよ       "
# 空白が削除されたことがわかるように先頭と末尾に"@"を付けているよ
print(f"空白削除前:{'@' + targetText + '@'}")
print(f"空白削除後:{'@' + targetText.lstrip() + '@'}")

実行結果

空白削除前:@  わたしは きのこ が食べれないよ       @
空白削除後:@わたしは きのこ が食べれないよ       @

末尾の空白を削除するよ

# 対象文字列だよ(先頭と末尾に空白が入っていることに注目してね)
targetText = "  わたしは きのこ が食べれないよ       "
# 空白が削除されたことがわかるように先頭と末尾に"@"を付けているよ
print(f"空白削除前:{'@' + targetText + '@'}")
print(f"空白削除後:{'@' + targetText.rstrip() + '@'}")

実行結果

空白削除前:@  わたしは きのこ が食べれないよ       @
空白削除後:@  わたしは きのこ が食べれないよ@

先頭と末尾の空白を削除するよ

# 対象文字列だよ(先頭と末尾に空白が入っていることに注目してね)
targetText = "  わたしは きのこ が食べれないよ       "
# 空白が削除されたことがわかるように先頭と末尾に"@"を付けているよ
print(f"空白削除前:{'@' + targetText + '@'}")
print(f"空白削除後:{'@' + targetText.strip() + '@'}")

実行結果

空白削除前:@  わたしは きのこ が食べれないよ       @
空白削除後:@わたしは きのこ が食べれないよ@

空白をすべて削除するよ

# 対象文字列だよ(先頭と末尾に空白が入っていることに注目してね)
targetText1 = "  わたしは きのこ が食べれないよ       "
targetText2 = targetText1.replace(" ", "")
# 空白が削除されたことがわかるように先頭と末尾に"@"を付けているよ
print(f"空白削除前:{'@' + targetText1 + '@'}")
print(f"空白削除後:{'@' + targetText2 + '@'}")

実行結果

空白削除前:@  わたしは きのこ が食べれないよ       @
空白削除後:@わたしはきのこが食べれないよ@

replace関数は文字を置換する処理だよ。
" "(空白)を""(無)に置換して空白を削除しているよ。

Pythonで文字列に変数の値を埋め込むよ

Pythonで文字列に変数の値を埋め込むよ。

文字列に変数の値を埋め込むよ①

# 名前だよ
name = "静香"
# 苗字と名前を結合してのび太の妻を表示するよ
resultText = "源" + name + ""
print(resultText)

実行結果

源静香

文字列に変数の値を埋め込むよ②

# 名前だよ
name = "英才"
# 苗字と名前を結合してチート野郎を表示するよ
resultText = "出木杉{}".format(name)
print(resultText)

実行結果

出木杉英才

文字列に変数の値を埋め込むよ③

# 名前だよ
name = "のび太"
# 苗字と名前を結合して主人公を表示するよ
resultText = "野比{name}".format_map({'name': name})
print(resultText)

実行結果

野比のび太

文字列に変数の値を埋め込むよ④

# 日付・時刻を操作するモジュールを読み込むよ
from datetime import datetime
# 実行したときの秒を取得するよ
resultSecond = datetime.now().second
# 実行した秒が偶数か奇数か判定するよ
if resultSecond % 2 == 0:
    result = "偶数"
else:
    result = "奇数"
# 変数の値を文字列に埋め込んで表示するよ
resultText = f"実行したのは {resultSecond}秒 で {result} だよ。"
print(resultText)

実行結果

実行したのは 8秒 で 偶数 だよ。

Pythonで文字列と文字列を連結・結合するよ

Pythonで文字列と文字列を連結・結合するよ。

文字列を連結・結合するよ①

# 苗字と名前だよ
name1 = "剛田"
name2 = "武"
# 苗字と名前を連結してジャイアンを表示するよ
result = name1 + name2
print(result)

実行結果

剛田武

文字列を連結・結合するよ②

# 苗字と名前だよ
str_list = ["骨川", "スネ夫"]
# 苗字と名前を連結してジャイアンの部下を表示するよ
result = "".join(str_list)
print(result)

実行結果

骨川スネ夫

2024-03-17

Pythonで日付や時間を操作するよ

Pythonで日付や時間を操作するよ。
日付の計算などを紹介するね。

現在の日付、時間を取得するよ

# 日付・時刻を操作するモジュールを読み込むよ
from datetime import datetime
# 現在の日付を表示するよ
today = datetime.now()
print(today)

実行結果

2024-03-17 08:33:25.084094

年、月、日を指定して日付型の値を取得するよ

# 日付・時刻を操作するモジュールを読み込むよ
from datetime import datetime
# 年、月、日を指定して日付型にするよ
targetDate = datetime(2024, 4, 1)
print(targetDate)

実行結果

2024-04-01 00:00:00

年、月、日、時、分、秒を指定して日付型の値を取得するよ

# 日付・時刻を操作するモジュールを読み込むよ
from datetime import datetime
# 年、月、日、時、分、秒を指定して日付型にするよ
targetDate = datetime(2024, 4, 1, 15, 35, 59)
print(targetDate)

実行結果

2024-04-01 15:35:59

yyyy/mm/dd形式、yyyy年mm月dd日形式で表示するよ

# 日付・時刻を操作するモジュールを読み込むよ
from datetime import datetime
# 年、月、日、時、分、秒を指定して日付型にするよ
targetDate = datetime(2024, 4, 1, 15, 35, 59)

# yyyy/MM/dd形式で表示するよ
print(targetDate.strftime("%Y/%m/%d"))
# yyyy/MM/dd hh:mm:ss形式で表示するよ
print(targetDate.strftime("%Y/%m/%d %H:%M:%S"))

# yyyy年/MM月dd日形式で表示するよ
print(targetDate.strftime("%Y年%m月%d日"))
# yyyy年/MM月dd日 hh時mm分ss秒形式で表示するよ
print(targetDate.strftime("%Y年%m月%d日 %H時%M分%S秒"))

実行結果

2024/04/01
2024/04/01 15:35:59
2024年04月01日
2024年04月01日 15時35分59秒

2つの日付を比較して大小チェックするよ

# 日付・時刻を操作するモジュールを読み込むよ
from datetime import datetime
# 現在の日付を表示するよ
today = datetime.now()
# 年、月、日、時、分、秒を指定して日付型にするよ
targetDate = datetime(2024, 4, 1, 15, 35, 59)

# 日付の大小を比較するよ
if today < targetDate:
    print(f'今日は{targetDate.strftime("%Y/%m/%d")}より前だよ')
else:
    print(f'今日は{targetDate.strftime("%Y/%m/%d")}以降だよ')

実行結果

今日は2024/04/01より前だよ

経過日数を取得するよ

# 日付・時刻を操作するモジュールを読み込むよ
from datetime import datetime
# 現在の日付を表示するよ
today = datetime.now()
# 指定の日付を指定するよ
targetDate = datetime(2024, 2, 1)
# 経過日数を計算するよ
resultDate = (today - targetDate).days
print(f"{resultDate}日経過しました。")

実行結果

45日経過しました。

日付型かチェックする関数を作るよ

# 日付・時刻を操作するモジュールを読み込むよ
from datetime import datetime
# 日付型かチェックするよ
def isDate(targetValue):
    try:
        # 引数の型によって処理を分岐するよ
        if isinstance(targetValue, int):
            # 数値(yyyymmdd)を日付型に変換するよ
            resultValue = datetime.strptime(str(targetValue), "%Y%m%d")
            return True
        elif isinstance(targetValue, str):
            # 文字(yyyy/mm/dd)を日付型に変換するよ
            resultValue = datetime.strptime(targetValue, "%Y/%m/%d")
            return True
        elif isinstance(targetValue, datetime):
            # 日付型であればTrueを返すよ
            return True
        else:
            return False
    except ValueError:
        return False

# 数値型
print(isDate(20240229))
# 文字型
print(isDate("2024/02/55"))
# 日付型
print(isDate(datetime.today()))

実行結果

True
False
True

生年月日から年齢を計算する関数を作るよ

# 日付・時刻を操作するモジュールを読み込むよ
from datetime import datetime
# 生年月日から年齢を計算するよ
def calcAge(birthDay):
    # 生年月日をdatetimeオブジェクトに変換
    birthDay = datetime.strptime(birthDay, "%Y/%m/%d")
    # 現在の日付を表示するよ
    today = datetime.now()
    # 年齢を計算するよ
    return today.year - birthDay.year - ((today.month, today.day) < (birthDay.month, birthDay.day))

# 年齢を計算
age = calcAge("2000/04/01")
# 年齢を表示
print(f"現在の年齢は{age}歳です。")

実行結果

現在の年齢は23歳です。

2024-03-16

Pythonでテキストファイルの文字を読むよ

Pythonでテキストファイルから文字を読み込むよ。
基本的な書き方から、便利な書き方、最後にテキストファイルを全行読み込んでリストに格納してみるよ。

テキストファイルから文字を読み込むサンプルだよ

読み込むテキストファイルの内容だよ。

この文字を読むよ
[EOF]
# ファイルを読むモードでファイルを開くよ
file = open(r"d:\サンプル.txt", "r")
# 1行目を読み込むよ
first_line = file.readline().strip()
# 結果を出力するよ
print(f"1行目の文字列は「{first_line}」")
# ファイルを閉じるよ
file.close()

実行結果

1行目の文字列は「この文字を読むよ」


ファイルの閉じ忘れを防止する書き方を紹介するよ

読み込むテキストファイルの内容だよ。

この文字を読むよ
[EOF]
# ファイルを読むモードでファイルを開くよ
with open(r"d:\サンプル2.txt", "r") as file:
    # 1行目を読み込むよ
    first_line = file.readline().strip()
# 結果を出力するよ
print(f"1行目の文字列は「{first_line}」")

実行結果

1行目の文字列は「この文字を読むよ」


テキストファイルの中の文字列を全行読み込んでリスト型に入れるよ

読み込むテキストファイルの内容だよ。

2024/03/15 21:18:15 149 : サンプル1行目
2024/03/15 21:18:15 150 : サンプル2行目
2024/03/15 21:18:15 151 : サンプル3行目
[EOF]
# ファイルを読むモードでファイルを開くよ
with open(r"d:\サンプル3.txt", "r") as file:
    # 格納するリストを初期化するよ
    all_lines = []
    # ファイルを1行ずつ処理するよ
    for line in file:
        # 語尾の改行は邪魔だから削除するよ
        line = line.rstrip("\n")
        # リストにぶちこむよ
        all_lines.append(line)
        
# 結果を出力するよ
for index, all_line in enumerate(all_lines):
    print(f"{index + 1}行目は「{all_line}」")

実行結果

2024/03/15 21:18:15 149 : サンプル1行目
2024/03/15 21:18:15 150 : サンプル2行目
2024/03/15 21:18:15 151 : サンプル3行目


2024-03-14

Pythonでテキストファイルに文字を書くよ

Pythonでテキストファイルに文字を書いてみるね。

テキストファイルに文字を書き込むよ①

# 書くモードでファイルを開くよ
file = open(r"d:\サンプル.txt", "a")
# ファイルに文字列を書き込むよ
file.write("この文字を書くよ\n")
# ファイルを閉じるよ
file.close()

実行結果

この文字を書くよ
[EOF]

基本的なプログラムの書き方だよ。ファイルを開いたら最後は閉じることを忘れないでね。 ファイルを閉じないとプログラムが終了するまで使用中になって編集できなくなっちゃうよ。



テキストファイルに文字を書き込むよ②

# 書くモードでファイルを開くよ
with open(r"d:\サンプル2.txt", "a") as file:
    # ファイルに文字列を書き込むよ
    file.write("この文字を書くよ\n")

実行結果

この文字を書くよ
[EOF]

withを使ったプログラムの書き方だよ。 こちらはwithの処理が終わったら自動的にファイルが閉じられるよ。 閉じ忘れがないから安心だね。



ログを出力する関数を作るよ

# 日付・時刻を操作するモジュールを読み込むよ
from datetime import datetime
# 
# ログを出力するよ
# 
def LogOutput(outStr):
    # 書くモードでファイルを開くよ
    with open(r"d:\サンプル3.txt", "a") as file:
        # 年月日 時分秒 ミリ秒(3桁)を取得するよ
        nowStr = datetime.now().strftime("%Y/%m/%d %H:%M:%S %f")[:-3]
        # ファイルに文字列を書き込むよ
        file.write(nowStr + " : " + outStr + "\n")
    return

# 1回目のログ出力だよ
LogOutput("サンプル1行目")
# 2回目のログ出力だよ
LogOutput("サンプル2行目")
# 3回目のログ出力だよ
LogOutput("サンプル3行目")

実行結果

2024/03/15 21:18:15 149 : サンプル1行目
2024/03/15 21:18:15 150 : サンプル2行目
2024/03/15 21:18:15 151 : サンプル3行目
[EOF]