2016-05-12 1 views
2

Ich versuche, ein Programm zu schreiben, das alle Dateien mit einer angegebenen Erweiterung in einem Verzeichnis ablegt und nacheinander ausgibt. Es wäre großartig, wenn sie jedes Mal mehr als einmal gedruckt werden könnten, aber nur einen Schritt nach dem anderen.So senden Sie Dateien, die von glob erkannt werden (standardmäßig) Drucker

Ich plane, die Py-Datei im Verzeichnis zu halten, dass ich die glob laufen auf Verzeichnis Platzhalter Kopfschmerzen zu vermeiden ...

Ich habe versucht, die folgenden:

import os 
import glob 

os.startfile((glob.glob('*.docx*')), "print") 

Dies gibt mir die folgende Nachricht:

Traceback (most recent call last): 
    File "C:\Users\cmobley\Desktop\HI\print all in folder.py", line 11, in <module> 
    os.startfile((glob.glob('*.docx*')), "print") 
TypeError: Can't convert 'list' object to str implicitly 

Ich verstehe, dass es eine Art von fehlenden Link gibt hier kann ich nur meinen Finger nicht darauf legen. Ich habe auch andere Ansätze ohne Erfolg versucht. Ich habe erfolgreich einzelne Dokumente gedruckt, bevor ich die Datei os.start mit dem Argument print verwendete. Ich bin so sehr ein Anfänger also geh bitte einfach zu mir! Ich benutze Python 3.5, so dass mein Glob-Modul aktualisiert wird.

+0

es in einem Zyklus senden. – user3159253

Antwort

2

glob.glob gibt eine Liste von Strings zurück, Sie können eine Liste nicht os.startfile, Sie müssen es für jeden String in der Liste tun. Das erklärt TypeError: Can't convert 'list' object to str implicitly

import glob 
import os 

for filename in glob.glob('*.docx*'): 
    os.startfile(filename, "print") 

Mehrere Drucke:

import glob 
import os 

numPrints = 10 

for filename in glob.glob('*.txt*'): 
    for i in range(numPrints): 
     print("Printing file", filename, "copy", i+1) 
     os.startfile(filename, "print") 
+0

Das ist sehr hilfreich. Ich habe so etwas probiert, muss es aber übertrieben haben. Irgendwelche Gedanken, um jede Datei zu drucken, sagen wir zum Beispiel 10 Mal, bevor wir zur nächsten Datei gehen, die der Globus findet? Ich brauche eine Richtung! – Clint

+0

Ich bin mir nicht sicher, ob ich das richtig verstehe, Sie wollen jede einzelne Datei zehn Mal drucken? – Keatinge

+0

Das ist richtig – Clint