subprocess.Popen
çağrı için bağımsız değişkenleri belirtmek için shlex.split
kullanıyorum. O args biri UNC yolu Ancak, işler kıllı olsun: Gördüğünüz gibishlex.split UNC yollarına saygı gösteriliyor
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']
üretir, önünde ters eğik çizgi aşağı kaldırılır. Aşağıdaki iki satırı ekleyerek bu konuda çalışıyorum, ama daha iyi bir yolu var mı?
if args[0].startswith('\\'):
args[0] = '\\' + args[0]
Sorunuz belirsiz. Yukarıdaki örnekte dize değişmezlerini kullanıyorsunuz. Dusan'ın cevabındaki tekniği kullanarak ya da sadece ham dize değişmezlerini kullanarak onlarla başa çıkabilirsiniz. Ancak, cevabımı dizelerin bir dosyadan alındığını söylediniz. Bu durumda, Python onlara dokunmaya bile çalışmaz, aynı miktarda eğime sahip olurlar. Dizenizi bir dosyadan yüklemeyi ve yazdırmayı deneyin. Ya bu ya da açık bir şey eksik. –
@Alex İyi nokta. Yukarıdaki örnekte bir dosyadan dize yüklerken gördüğüm davranışı yeniden ürettim, böylece benzer şekilde davranacağını varsaydım. Dosyadan yüklendiğinde dizenin neye benzediğini kontrol edeceğim. –