相关文章推荐
任性的马克杯  ·  用Python ...·  昨天    · 
追风的显示器  ·  python判断矩形 - CSDN文库·  8 小时前    · 
安静的松鼠  ·  mysql ...·  1 年前    · 
气势凌人的花卷  ·  python - ...·  1 年前    · 
怕老婆的瀑布  ·  Spring ...·  1 年前    · 
fp = open("/path-to-file/path.txt",'r') for line in fp: os.system('lp -d HPLaserJ %s' % (str(line)))

我在Fedora 20上。替换代码1】是一个包含pdf文件路径的文件,如'/home/user/a.pdf'。 当我运行代码时,它说没有这样的文件或目录。

3 个评论
请公布你收到的完整的回溯资料。
@SergeBallesta: '%s' % 'foo' '%s' % ('foo',) 是一样的。 (虽然像你建议的那样总是提供一个元组在概念上更干净。)
F.M
输出结果是: " - No such file or directory"/home/user/serial_num.txt 。/home/user/serial_num.txt是path.txt的内容。当我像这样直接放入serial_num.txt时:` os.system('lp -d HPLaserJ /home/user/serial_num.txt')`,它成功地打印出了文件内容。
python
linux
F.M
F.M
发布于 2015-01-14
2 个回答
lqhcpsgbl
lqhcpsgbl
发布于 2022-12-19
已采纳
0 人赞同

试试这个代码可能有帮助。

import os
def printing_reports():
  fp = open("/path-to-file/path.txt",'r')
  for line in fp:
      os.system('lp -d HPLaserJ {0}'.format(line.strip()))
 printing_reports()

确保每一行中的文件都存在。

当我尝试这个解决方案时,我得到这个错误。UnicodeDecodeError: 'utf-8' codec can't decode byte 0xfe in position 28: invalid start byte
Red
Red
发布于 2022-12-19
0 人赞同

老问题了,但我需要一个答案,如何用python打印pdf文件,我发现 这个答案 more profound:

import cups
conn = cups.Connection()
printers = conn.getPrinters()
printer_name = printers.keys()[0]