ネットワークボリュームを検索し、パスとファイルのリストを返すスクリプトを作成しようとしています。私はその後、Windowsエクスプローラ検索を実行するサブプロセスでそのリストを使用して、ユーザーが検索ブラウザからどこにでもファイルをドラッグアンドドロップできるようにしたいと考えています。私が悩んでいるところでは、変数(リスト)をサブプロセス文字列に渡しています。subprocess.openを使用して変数を文字列に渡す
例:
foo = 'returned list'
subprocess.Popen(f'explorer /root,"search-ms:query={foo}"')
文字列は、Windowsエクスプローラの検索引数
search-ms:parameter=value[¶meter=value]&
の一部は、MSDNからパラメータ値の引数の使用開始されています。 https://msdn.microsoft.com/en-us/library/windows/desktop/ff684385(v=vs.85).aspx
私は、特定のパラメータでサブプロセスの文字列を実行し、genericFileName.fileExtを言うと、ファイル(複数可)が存在する場合:
subprocess.Popen(f'explorer /root,"search-ms:query=genericFileName.fileExt"')
サブプロセスがエクスプローラを起動し、ファイルを表示する
変数を使用しようとすると、サブプロセスはエクスプローラを開きますが、検索結果は返しません。私は、サブプロセスの文字列ので
"search-ms:query={foo}"
{FOO}
内の変数を使用できるようにすることは非常に高く評価されたサブプロセスの文字列
すべてのヘルプ内の変数です。
再び
[Pythonで書式設定文字列]の可能な複製を(https://stackoverflow.com/questions/517355/string-formatting-in-python ) – ppperry