でテキストファイルを印刷すると、コンピュータのデフォルトプリンタでファイルの内容を印刷するプログラムを作成しようとしています。 私は周りに同様の質問をたくさんtheresのを知っているが、それらのどれもが私のPC上で動作しない(Linuxのミント17.3)ここ自分の小さなプロジェクト用にデフォルトプリンタ
は、私が試したものです、それは私が必要なものに最も近いを得た:
from subprocess import Popen
from cStringIO import StringIO
# place the output in a file like object
sio = StringIO("test.txt")
# call the system's lpr command
p = Popen(["lpr"], stdin=sio, shell=True)
output = p.communicate()[0]
これは私に以下のエラーを与えます:
Traceback (most recent call last):
File "/home/vandeventer/x.py", line 8, in <module>
p = Popen(["lpr"], stdin=sio, shell=True)
File "/usr/lib/python2.7/subprocess.py", line 702, in __init__
errread, errwrite), to_close = self._get_handles(stdin, stdout, stderr)
File "/usr/lib/python2.7/subprocess.py", line 1117, in _get_handles
p2cread = stdin.fileno()
AttributeError: 'cStringIO.StringI' object has no attribute 'fileno'
Doe誰かがこれをpyoeで実装することができますか?それは実際にWindows上で動作している必要はありません
よろしく
シド・エル
なぜ 'StringIO'ではなく' open'ですか? –
@Moses Koledoyeあなたのコメントは両方のバグを修正:)私は私の答えの2番目の部分を書くときにそれを実現しました。 –
「StringIO」はまた、最初に重複を検出することをより困難にしました。 –