سؤال
كيف يمكنك الاتصال lpr في الثعبان ؟
ليس في sys-وحدة التي أمر يثير الدهشة.
وتهدف إلى استخدام lpr على النحو التالي أظهرت الزائفة رمز
10*i for i in range(77):
lpr --pages(i,i+1) file.pdf
المحلول
أولا, أنا لا أفهم البرمجية الزائفة.(ما لا 10*i for i in range(77):
يعني في هذه الحالة؟)
عموما يمكنك استخدام subprocess.Popen
لتشغيل الأوامر الخارجية. ActiveState وصفة 511505 يظهر مثال على وجه التحديد lpr
.في الأساس, يمكن استدعاء lpr
مثل هذا:
subprocess.Popen(['lpr', 'some_filename'])
ومع ذلك: استنادا إلى الإصدار الخاص بك من lpr
, قد لا يكون هناك خيار لتحديد مجموعة فرعية من كل الصفحات ، أو هذه الوظيفة قد تكون متاحة فقط على سبيل المثالdvi الملفات.
تحرير: بما أنك تريد طباعة صفحات مختارة من ملفات PDF, إلقاء نظرة على PDF أدوات.هذا البرنامج يظهر لتوفير تقسيم الوظائف.أيضا, تأكد من أن مباشرة طباعة ملفات PDF معتمد.قد تحتاج إلى تحويل المدخلات إلى بوستسكريبت الأولى (مثلا ، باستخدام pdf2ps
).بالطبع يمكنك أتمتة هذه المهام باستخدام subprocess.Popen
وكذلك.
نصائح أخرى
مجرد دعوة من سطر الأوامر:
import commands
for i in range(77):
# I'm making no assumptions about lpr command syntax here.
cmd = "lpr --pages(%s,%s) file.pdf" % (2*i, 2*i+1)
commands.getoutput(cmd)
شيء من هذا القبيل.
أنا لم أجربها لكن pycups يبدو أن الثعبان الارتباطات أكواب.