2016-03-30 9 views
2

Ich brauche einen Befehl zur Eingabeaufforderung für einige Dateien in einem Ordner (.apk). Ich habe Glob erfolgreich benutzt, um mehrere Textdateien in einem Verzeichnis auszudrucken, aber wenn ich es mit os.system benutze passiert nichts. Ich habe den Befehlszeilenbefehl, den ich über OS.System verwenden möchte, auch erfolgreich in einer einzigen Datei (.apk) verwendet. Irgendeine Hilfe?Kann Glob in Verbindung mit os.system verwendet werden?

+0

Es ist nicht sehr klar, was falsch sein könnte. Können Sie uns den Code zeigen, was funktioniert und was nicht? Haben Sie auch versucht, die Methode subprocess.call() zu verwenden? Es ist die 'neuere' Version von os.system(). –

+0

Arbeits Glob: import glob für Dateinamen in glob.glob ('* .txt.'): \t txt = open (Dateiname) \t print (txt.read()) – Chinmay

+0

Arbeiten os.system: import os os.system ("java -Xmx4g -cp russ-trunk.jar; russ-infoflow.jar; russ-infloflow-android.jar; slf4j-api-1.7.5.jar; slf4j-einfach-.7.5.jar; axml -2.0.jar soot.jimple.infoflow.android.TestApps.Test C: \\ Benutzer \\ Admin \\ Downloads \\ DroidBench-master \\ DroidBench-master \\ apk \\ InterComponentCommunication \\ ActivityCommunication1.apk C: \ \ Users \\ Admin \\ Downloads \\ EnSoft \\ EnSoft \\ android-sdk \\ Plattformen \ " – Chinmay

Antwort

0
import os 
import glob 
for filename in glob.glob('*.apk'): 
    os.system("java -Xmx4g -cp soot-trunk.jar;soot-infoflow.jar;soot-infoflow-android.jar;slf4j-api-1.7.5.jar;s‌​lf4j-simple-.7.5.jar;axml-2.0.jar soot.jimple.infoflow.android.TestApps.Test C:\\Users\\Admin\\Downloads\\DroidBench-master\\DroidBench-master\\apk\\nf\\%s C:\\Users\\Admin\\Downloads\\EnSoft\\EnSoft\\android-sdk\\platforms" % filename) 

Versuchen Sie dies zu tun. In Ihrem Code wird das Wort "Dateiname" im Argument os.system() nicht durch einen Dateinamen ersetzt, der von glob gefunden wird. Es sollte funktionieren, indem Zeichenfolge-Formatierungssyntax verwendet.

+0

Nah es funktioniert nicht. Der Befehl ist für ein Werkzeug, das den Pfad einer apk-Datei als erstes Argument und den Pfad zum plattformalen Verzeichnis von android-sdks als das andere Argument verwendet. Ein% s im ersten Argument verursacht hier ein Problem – Chinmay

+0

Hoppla Ich hatte den Code festgelegt, um nach * .py-Dateien zu suchen (als Test auf meinem Computer), aber ich habe es jetzt bearbeitet, um nach * .apk wieder zu suchen, also kopiere Einfügen es wieder. Das% s wird durch den Dateinamen in glob ersetzt, bevor os.system aufgerufen wird. –

+0

Ich hatte es bereits mit .apk versucht, als du es zuerst gepostet hast. Funktioniert nicht – Chinmay

0

Warum nicht einfach die glob library verwenden? und dann die Ausgabe mit os.system verwenden:

import glob 

for file in glob.glob("*.apk"): 
    os.system("do_thing " + file) 
+0

Nun, der Befehl, den ich verwenden möchte, hat zwei Argumente, von denen nur 1 der Dateiname ist (was "Datei" laut Ihrem Kommentar wäre), also gibt es ein Problem, das es so benutzt. Sie können meinen Kommentar auf den ersten Kommentar sehen, um es zu sehen – Chinmay

Verwandte Themen