shlex.split
呼び出しの引数をトークン化するために使用していsubprocess.Popen
ます。ただし、これらの引数の1つがUNCパスである場合、事態は悪化します。
import shlex
raw_args = '-path "\\\\server\\folder\\file.txt" -arg SomeValue'
args = shlex.split(raw_args)
print raw_args
print args
を生成します
-path "\\server\folder\file.txt" -arg SomeValue
['-path', '\\server\\folder\\file.txt', '-arg', 'SomeValue']
ご覧のとおり、前面のバックスラッシュは削除されています。次の2行を追加してこれを回避していますが、もっと良い方法はありますか?
if args[0].startswith('\\'):
args[0] = '\\' + args[0]