2017-06-27 3 views
-6
import shlex 
import os 
os.environ['SERVER_SOFTWARE'] = 'Dev' 
import subprocess, socket, time, struct 

def execute_command(cmd): 
     f = open(log.name, "w") 
     try: 
      subprocess.Popen(cmd, 0, f, f) 
     except WindowsError: 
      cmd[0] = cmd[0] + ".com" 
      subprocess.Popen(cmd, 0, f, f) #work-around 
     rc = process.wait() 
     if rc != 0: 
      print("Error: failed to execute command:", cmd) 
      print(error) 
     return result 

def main(): 
     execute_command(["tree", "C:\\"], "treelog.txt") 
     return 
+1

'def_main():' scheint ein Tippfehler zu sein. Du meinst wahrscheinlich 'def main():' Wenn du programmieren wirst, musst du deine Aufmerksamkeit auf Details richten. –

+1

Bitte formatieren Sie Ihren Code korrekt. Dies ist nicht lesbar. –

+0

Können Sie die Version anzeigen, in der Sie nur ein Argument an 'execute_command' übergeben? Das Übergeben von zwei Argumenten ist ein Fehler ist offensichtlich. – mkrieger1

Antwort

0

Die Fehlermeldung ist ganz klar, und ich bin überrascht, Sie brauchen keine Erklärung: Sie definiert eine Funktion execute_command(cmd), die ein einzelnes Argument (cmd), dann rufe es mit zwei Argumenten auf.

Es gibt einige andere Probleme in Ihrem Code, aber Sie haben sich nie darum gekümmert, Ihren Code zu formatieren und eine echte Frage zu schreiben (Kopieren/Einfügen einer Fehlernachricht als Titel zählt nicht als "echte Frage") "), Ich werde mich auch nicht darum kümmern.

Verwandte Themen