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

  • bigky226

    bigky226

    11 HAZİRAN 2006
  • TechSmartt

    TechSmartt

    29 Aralık 2010
  • whatever

    whatever

    30 EYLÜL 2005