新しいコマンドプロンプトでコマンドを実行する

os.systemstart 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

Python でファイルパスを表記する方法 – Qiita

pathlib.Path クラスによるパス操作 | @IT

Convert WindowsPath to PosixPath – Stack Overflow

Python windows path slash – Stack Overflow

コマンド引数を処理する

参考:

shlex – 単純な字句解析 | Python 3.x ドキュメント [公式]

OS を判別する

  • os.name
  • platform.system()

参考:

Python を実行している OS の判別 – Qiita

Python が実行されている環境の OS やバージョン情報などを取得 | note.nkmk.me

OS/プラットフォームの判別 | 渥美剛史

インタプリタのパスを取得する

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 で一定時間停止する | 鎖プログラム

sleep の使い方やサンプルコードを紹介 | くまのブログ

sleep – 指定した時間待つ | Hello.

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: [function name]() takes 0 positional arguments but 1 was given とエラーになってしまう問題を考える – Qiita

TypeError: get() takes 2 positional arguments but 3 were given で困ってます – teratail

TypeError: index() takes 2 positional arguments but 3 were given – Stack Overflow

まとめ

Python で小さなツールを作る時の Tips – Qiita

覚えておくと便利! Python 標準ライブラリ 10選 – Qiita

記事をシェアする:
タグ:

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

Protected by reCAPTCHA