パスが存在しない場合、ディレクトリを作成しようとしていますが、! (not)演算子は機能しません。 Pythonで否定する方法がわかりません...これを行う正しい方法は何ですか?
if (!os.path.exists("/usr/share/sounds/blues")):
proc = subprocess.Popen(["mkdir", "/usr/share/sounds/blues"])
proc.wait()
Pythonの否定演算子はnot
です。したがって、!
をnot
に置き換えるだけです。
たとえば、次のようにします。
if not os.path.exists("/usr/share/sounds/blues") :
proc = subprocess.Popen(["mkdir", "/usr/share/sounds/blues"])
proc.wait()
特定の例(ニールがコメントで述べたように)では、subprocess
モジュールを使用する必要はありません。単に os.mkdir()
を使用して、必要な結果を取得し、例外処理の良さを追加できます。
例:
blues_sounds_path = "/usr/share/sounds/blues"
if not os.path.exists(blues_sounds_path):
try:
os.mkdir(blues_sounds_path)
except OSError:
# Handle the case where the directory could not be created.
Pythonは句読点よりも英語のキーワードを好みます。 not x
、つまりnot os.path.exists(...)
を使用します。 Pythonのand
とor
である&&
と||
についても同じことが言えます。
代わりに試してください:
if not os.path.exists(pathName):
do this
他の全員からの入力を結合する(使用しない、括弧なし、os.mkdir
を使用する).
specialpathforjohn = "/usr/share/sounds/blues"
if not os.path.exists(specialpathforjohn):
os.mkdir(specialpathforjohn)