新しいコマンドプロンプトでコマンドを実行する
os.system
で start cmd
を実行する。
os.system("start cmd /c 'echo Hello'")
Code language: Python (python)
コマンドの実行が返るまで待つには start
コマンドに /wait
オプションを付ける。
os.system("start /wait cmd /c 'echo Hello'")
Code language: Python (python)
参考:
Start new command prompt on Windows and wait for it finish/exit – Stack Overflow
管理者権限でコマンドを実行する
参考:
Run process as admin with subprocess.run in Python – Stack Overflow
パスにスペースが含まれているコマンドを実行する
参考:
Run a command with a space in it | Tim Golden’s Python Stuff
os.system to invoke an exe which lies in a dir whose name contains whitespace – Stack Overflow
Does Python’s subprocess.Popen accept spaces in paths? – Stack Overflow
Using string with whitespace in the subprocess.call function – Unix & Linux Stack Exchange
パスの区切りを変換する
ドキュメント:
pathlib.PurePath.as_posix | Python 3.x ドキュメント [公式]
pathlib – オブジェクト指向のファイルシステムパス | Python 3.x ドキュメント [公式]
参考:
Windows のパスがうまく指定/表示できない問題 in Python | ぴよぴよ.py
Convert WindowsPath to PosixPath – Stack Overflow
Python windows path slash – Stack Overflow
コマンド引数を処理する
参考:
shlex – 単純な字句解析 | Python 3.x ドキュメント [公式]
OS を判別する
os.name
platform.system()
参考:
Python が実行されている環境の OS やバージョン情報などを取得 | note.nkmk.me
インタプリタのパスを取得する
sys.executable
にインタプリタのフルパスが格納されている。
$ python -c "import sys; print(sys.executable)"
参考:
How to get the python.exe location programmatically? – Stack Overflow
スリープ
5秒間実行を停止する。
import time
time.sleep(5)
Code language: Python (python)
ドキュメント:
time.sleep | Python 3.x ドキュメント [公式]
参考:
sleep の使い方やサンプルコードを紹介 | くまのブログ
How can I make a time delay? – Stack Overflow
キャッシュを削除する
参考:
remove __pycache__ folders and .pyc files – Stack Overflow
How to delete all __pycache__ folders in directory tree – Stack Overflow
引数の数が一致しないエラー
現象:
関数に与えられた引数の数が関数の定義と一致しない旨のエラーが発生する。
TypeError: do_something() takes N positional arguments but M were given
参考:
TypeError: get() takes 2 positional arguments but 3 were given で困ってます – teratail
TypeError: index() takes 2 positional arguments but 3 were given – Stack Overflow