python 找不到文件错误,cmd 中没有错误

file not found error with python, no error in cmd

我为 windows 制作了一个 python 脚本来打印目录中的每个文件。为此,我使用 ghostscript 和 gsprint。

当我启动脚本时,出现错误WindowsError: [error2] file not found

如果我在 cmd 中启动相同的命令行,则没有错误并打印 pdf...

这是我的脚本:

for f_name in files_in_dir:
    fullpath_file = os.path.join(base_print, path_print_source, f_name)
    carrier = f_name.split('-')[0]
    new_path = os.path.join(base_print, carrier + '_printed')
    new_fullpath_file = os.path.join(new_path, f_name)

    print Tools.format_txt("traitement du fichier %s" % f_name)
    print Tools.format_txt("traitement du fichier %s" % f_name, carrier)

    p = subprocess.Popen(['gsprint', '-printer', printer,'-dPDFFitPage', fullpath_file], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
    out, err = p.communicate()
    if out:
        print Tools.format_txt(out)
    if err:
        print Tools.format_txt(err, level="error")

    print Tools.format_txt("fichier %s envoyé pour impression" % f_name, carrier)

    if not os.path.exists(new_path):
        os.makedirs(new_path)
    os.rename(fullpath_file, new_fullpath_file)

文件的生成路径是:C:\Users\GREG\Downloads\DHL-575555338523255087006833669.pdf

回溯:

Traceback (most recent call last):
  File "python-print.py", line 95, in <module>
    sys.exit(main())  # si le script est utilis├® comme un module, on n'ex├®cute pas le script
  File "python-print.py", line 61, in main
    p = subprocess.Popen(['gsprint', '-printer', printer,'-dPDFFitPage', fullpath_file], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
  File "C:\Python27\lib\subprocess.py", line 710, in __init__
    errread, errwrite)
  File "C:\Python27\lib\subprocess.py", line 958, in _execute_child
    startupinfo)
WindowsError: [Error 2] Le fichier spÚcifiÚ est introuvable

我正在使用 windows 10 和 python 2.7

经过多次尝试,我设法解决了问题:

Gsprint 安装在 c:\program files 我移动它并安装在 c:\GSP 所以路径没有空格并且工作正常。