ホームページ  >  記事  >  バックエンド開発  >  Python を使用してパスにスペースが含まれるプログラムを実行するにはどうすればよいですか?

Python を使用してパスにスペースが含まれるプログラムを実行するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-11-03 12:12:29840ブラウズ

How to Execute Programs with Spaces in Their Paths Using Python?

Python を使用したパスにスペースが含まれるプログラム実行の処理

Python では、外部プログラムの実行に os.system がよく使用されます。ただし、プログラムへのパスにスペースが存在すると失敗する可能性があります。

次のコード スニペットを考えてみましょう:

<code class="python">import os

os.system("C:\Temp\a b c\Notepad.exe");</code>

このコードは、スペースを含むパスでメモ帳を実行しようとします。ただし、次のエラーで失敗します:

'C:\Temp\a' is not recognized as an internal or external command, operable program or batch file.

この問題を解決するには、引用符でプログラムをエスケープします:

<code class="python">os.system('"C:\Temp\a b c\Notepad.exe"');</code>

ただし、このアプローチは、プログラムにパラメータを渡すときに失敗します。次の例に見られます:

<code class="python">os.system('"C:\Temp\a b c\Notepad.exe" "C:\test.txt"');</code>

これに対処するには、subprocess.call を利用します:

<code class="python">import subprocess

subprocess.call(['C:\Temp\a b c\Notepad.exe', 'C:\test.txt'])</code>

subprocess.call は引数のリストを受け入れ、複雑な引用符の必要性を排除します。これにより、パスにスペースが含まれるプログラムを実行する問題が効果的に解決されます。

以上がPython を使用してパスにスペースが含まれるプログラムを実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。