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

  • Damien Walters

    Damien Walte

    20 AĞUSTOS 2006
  • Epic Tutorials for iPhone, iPad and iOS

    Epic Tutoria

    18 EYLÜL 2011
  • mipd1980

    mipd1980

    25 EKİM 2006