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

  • GoProTutorials

    GoProTutoria

    18 NİSAN 2011
  • Tech4Geeks

    Tech4Geeks

    8 Ocak 2012
  • THELIFEOFPRICE

    THELIFEOFPRI

    16 Mart 2011