0

プログラムでプリンターを追加しようとすると、0x00000709 エラーが発生します。

何が原因でしょうか? 私のコードの何かが少しずれているのではないかと疑っています:

import subprocess
def printerSetup(printer):
    subprocess.call(r'Cscript c:/windows/System32/Printing_Admin_Scripts/en-US/Prnport.vbs -a -r "' + printer + '.print.mediag.com" -h "' + printer + '.print.mediag.com" -o raw')
    if printer == 'jupiter':
        subprocess.call(r'rundll32 printui.dll, PrintUIEntry /if /b "' + str.title(printer) + '" /u /y /f w:\printers\\toshibae3511\eng\est_c2.inf /r "' + printer + '.print.mediag.com" /m "TOSHIBA e-STUDIO Color PS3"')
    elif printer == 'saturn' or printer == 'neptune':
        subprocess.call(r'rundll32 printui.dll, PrintUIEntry /if /b "' + str.title(printer) + '" /u /f w:\printers\\toshibae3511\eng\est_c2.inf /r "' + printer + '.print.mediag.com" /m "TOSHIBA e-STUDIO Color PS3"')  
    elif printer == 'mercury':
        subprocess.call(r'rundll32 printui.dll, PrintUIEntry /if /b "' + str.title(printer) + '" /u /f w:\printers\dell1720\drivers\print\dell1720\DKABJ740.inf /r "' + printer + '.print.mediag.com" /m "Dell Laser Printer 1720dn"')
    elif printer == 'sonic' or printer == 'pangea':
         subprocess.call(r'rundll32 printui.dll, PrintUIEntry /if /b "' + str.title(printer) + '" /u /f w:\printers\HPUniversalPS_x64\hpcu112v.inf /r "' + printer + '.print.mediag.com" /m "HP Universal Printing PS"')

printerList = ["neptune", "saturn", "mercury", "jupiter", "sonic", "pangea"]

for x in printerList:

    printerSetup(x)

これで、これらの各プリンターが確実にネットワークに追加され、Windows 用の印刷スクリプトを呼び出しています。

4

1 に答える 1

0

リストを渡す必要があります:

subprocess.call(['Cscript', r'c:/windows/System32/Printing_Admin_Scripts/en-US/Prnport.vbs', '-a', ...])

見積もりもチェック...

http://docs.python.org/library/subprocess.html?highlight=subprocess#subprocess.check_callをご覧ください

于 2012-05-14T15:22:38.500 に答える