SORU
15 EKİM 2008, ÇARŞAMBA


Nasıl python bir programı çalıştırmak mı? os.sistem yolunda boşluk nedeniyle başarısız

Dış programı çalıştırmak için gereken, ama nedense başarısız için bir python komut dosyası var.

Eğer aşağıdaki kodu var:

import os;
os.system("C:\\Temp\\a b c\\Notepad.exe");
raw_input();

Sonra aşağıdaki hata ile başarısız:

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

Ben tırnak ile program kaçış:

import os;
os.system('"C:\\Temp\\a b c\\Notepad.exe"');
raw_input();

Çalışır o zaman. Eğer bir parametre eklerseniz ancak, yine çalışmamaya başlıyor:

import os;
os.system('"C:\\Temp\\a b c\\Notepad.exe" "C:\\test.txt"');
raw_input();

Bir programı çalıştırmak ve bunu tamamlamak için beklemek için doğru yolu nedir? Buradan çıkış okumama gerek olmayan bir iş ve sonra çıkar huyu bu görsel bir program olduğundan, ama bunun için beklemek lazım.

Ayrıca not, olmayan aralıklı yolu bir program hareketli bir seçenek değil.

< / ^ hr .

EditBu da işe yaramazsa:

import os;
os.system("'C:\\Temp\\a b c\\Notepad.exe'");
raw_input();

Takas tek/çift tırnak unutmayın.

ya da burada not defteri için bir parametre olmadan, bir hata iletisi ile başarısız olur

The filename, directory name, or volume label syntax is incorrect.

CEVAP
15 EKİM 2008, ÇARŞAMBA


subprocess.call çeşitli kabukları sözleşmeler Alıntı ile uğraşmak zorunda sorunları önlemek olacaktır. Bir liste yerine bir dize kabul eder, tartışmalar daha kolay ayrılmış. yani

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

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Jared Busch

    Jared Busch

    25 Mayıs 2011
  • The Amazing Atheist

    The Amazing

    20 Kasım 2006
  • Virtual Riot

    Virtual Riot

    19 Mayıs 2011