我正在编写一个简短的脚本,该脚本将循环浏览目录中的pdf文件,反复打开它们,并让我对它们进行分类。我写的代码几乎可以实现我想要的一切。它循环浏览文件并打开和关闭它们。注意,我在Linux上工作。
但是,光标并不总是停留在外壳上,我不想一直按Alt选项卡。有人知道如何使用子流程来运行系统命令,但在Python运行时永远不要离开shell吗?
到目前为止我得到的简化版本:
import signal
import os
import subprocess
import glob
files = glob.glob("pdfs/*.pdf", recursive=True)
for ff in files:
# get the evince call
command = f"evince --fullscreen {ff}"
# open the pdf
process_cat = subprocess.Popen(command, stdout = subprocess.PIPE, shell = True)
next = input("Keep viewing files? Y/N")
# close the pdf
os.kill(process_cat.pid, signal.SIGKILL)
if next != "Y":
break
想法1:使用浏览器
不知道这是否会有所帮助,但如果你习惯于linux shell方法,在网络浏览器中查看可能会更好吗?
如果是的话,我想知道这个包裹是否有帮助?
import webbrowser
files = glob.glob("pdfs/*.pdf", recursive=True)
for ff in files:
webbrowser.open_new(ff)
# etc
想法2:直接显示PNG
转换为PNG,然后直接显示python本身的图像文件也是一种选择吗?在这种情况下,这篇文章可能会有所帮助:在iPython笔记本中查看pdf图像