Closed4

Python3_osモジュール, ioモジュール, sysモジュール, argparseモジュール

かじるかじる

Python実践レシピより

Python3エンジニア認定実践試験メモ

osモジュール

main.py
import os
import shutil

path_dir = "./dir"

# 現在の作業パス
print(os.getcwd())
# /Users/xxx/Documents/xxx...

# ディレクトリを作る
if not os.path.isdir(path_dir): 
	os.mkdir(path_dir)

# 作業ディレクトリに移動
os.chdir(path_dir)
print(os.getcwd())

# ファイルを10個作る
for i in range(10):
	file_name = f"test_{i}.txt"
	with open(file_name, "w") as file:
	  file.write(f"Hello, this is myfile({i})!!")

# ディレクトリの中を確認
print(os.listdir("."))

# ディレクトリを削除
os.chdir("../")
# shutil.rmtree(path_dir)
かじるかじる

ioモジュール_StringIO, BytesIO

main.py
import io

#==========
# StringIO

sio = io.StringIO("This is string io!!")
print(sio.read(10))
# This is st

# 現在のオフセット
print(sio.tell())
# 10

# オフセットを末尾に
print(sio.seek(0, io.SEEK_END))
# 19

# 文字列書き込み
print(sio.write("Hello!!"))
# 4

# 全てのデータ
print(sio.getvalue())
# This is string io!!Hello!!

# ストリームを閉じる
sio.close()

#==========
# BytesIO

bio = io.BytesIO(b"This is bytes io!!")
print(bio.read(10))
# b'This is by'

# 現在のオフセット
print(bio.tell())
# 10

# オフセットを末尾に
print(bio.seek(0, io.SEEK_END))
# 18

# バイトを書き込み
print(bio.write(b"Hello!!"))
# 7

# 全てのデータ
print(bio.getvalue())
# b'This is bytes io!!Hello!!'

# ストリームを閉じる
bio.close()
かじるかじる

sysモジュール

main.py
import sys

# コマンドライン引数を取得する
print(sys.argv)
# Run
#    $python3 main.py -a abc
# Result
# ['main.py', '-a', 'abc']

# Pythonのバージョン
print(sys.version_info)
# sys.version_info(major=3, minor=12, 
#      micro=0, releaselevel='final', serial=0)

# システム終了
sys.exit("プログラムを終了します")
かじるかじる

argparseモジュール

main.py
from argparse import ArgumentParser

# パーサー
parser = ArgumentParser(description="Example command")

# 文字列を受け取る-sオプションを定義
parser.add_argument("-s", "--string", 
	                type=str, 
	                help="string to display", 
	                required=True)

# 数値を受け取る-nオプションを定義
parser.add_argument("-n", "--num", 
	                type=int, 
	                help="number of tymes repeatedly display string",
	                default=2)

# 引数をパースし、得られた値を変数に格納
args = parser.parse_args()
print(args.string * args.num)

# Run
#    $ python3 main.py -s hello -n 5
# Result
#    hellohellohellohellohello

# Run
#    $ python3 -h
# Result
#    usage: main.py [-h] -s STRING [-n NUM]
#    
#    Example command
#    
#    options:
#      -h, --help            show this help message and exit
#      -s STRING, --string STRING
#                            string to display
#      -n NUM, --num NUM     number of tymes repeatedly display string
このスクラップは2ヶ月前にクローズされました