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

os.systemstart cmd を実行する。

os.system("start cmd /c 'echo hello'")

コマンドの実行が返るまで待つには start コマンドに /wait オプションを付ける。

os.system("start /wait cmd /c 'echo hello'")

参考:

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 in python – Unix & Linux Stack Exchange

パスの区切りを変換する

参考:

Windows のパスがうまく指定\表示できない問題 in Python | ぴよぴよ.py

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

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

pathlib.PurePath.as_posix | Python 3.x ドキュメント [公式]

pathlib – オブジェクト指向のファイルシステムパス | Python 3.x ドキュメント [公式]

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 (プラットフォーム) の判別 | 渥美剛史 (atsumitakeshi.com)

Python 実行ファイルのパスを取得する

Python 実行ファイルのフルパスが sys.executable に格納されている。

import sys
print(sys.executable)

参考:

How to get the python.exe location programmatically? – Stack Overflow

引数の数が一致しないエラー

関数に与えられた引数の数が関数の定義と一致しない旨のエラーが発生する。

TypeError: do_something() takes N positional arguments but M were given

参考:

python のクラス変数に外部関数を使うときに 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 標準ライブラリ10選 – Qiita

タグ:

コメントを残す

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