问题
我试图通过搜索文本来确定文档的类型(例如恳求,通信,传票等),最好使用python.所有的PDF都是可搜索的,但是我还没有找到解决方案,用python解析它并应用脚本来搜索它(首先不是将它转换为文本文件,但对于n个文档来说这可能是资源密集型的).
到目前为止
我做了什么我已经研究过 pypdf,pdfminer,adobe pdf文档,以及我能找到的任何问题(虽然似乎没有一个直接解决这个问题).PDFminer似乎最具潜力,但在阅读完文档之后我甚至不确定从哪里开始.
是否有一种简单有效的方法可以通过页面,行或整个文档来阅读PDF文本?或任何其他解决方法?
我正在使用 PyQt4 在 Python 中为 windows 开发一个文件管理器,它几乎专门处理 pdf。我想让它保持便携,这样我就可以用 U 盘运行它。
是否可以预览 pdf,类似于此
http://www.neosoftware.com/neobook/modules/pubs/singlefile.php?cid=8&lid=68
但是使用python和pyqt?
在python中,编写如下__init__定义是不好的形式:
class someFileType(object):
def __init__(self, path):
self.path = path
self.filename = self.getFilename()
self.client = self.getClient()
self.date = self.getDate()
self.title = self.getTitle()
self.filetype = self.getFiletype()
def getFilename(self):
'''Returns entire file name without extension'''
filename = os.path.basename(self.path)
filename = os.path.splitext(filename)
filename = filename[0]
return filename
def getClient(self):
'''Returns client name associated with file'''
client = self.filename.split()
client = client[1] # Assuming filename is formatted "date client - docTitle"
return client
Run Code Online (Sandbox Code Playgroud)
初始化变量是否调用返回字符串的函数?或者它被认为是懒惰的编码?这主要是为了救我写something.filetype的something.getFiletype(),每当我想引用该文件的某些方面.
此代码用于按客户端将文件排序到文件夹中,然后按文档类型排序,以及基于文件名中的数据进行其他操作.
使用这种一般结构:
setup.py
/package
__init__.py
project.py
/data
client.log
Run Code Online (Sandbox Code Playgroud)
我有一个脚本可以保存名称列表client.log,所以每次我需要访问它或运行模块时,我都不必重新初始化该列表.在使用之前设置此结构之前pkg_resources,我曾open('.../data/client.log', 'w')使用显式路径更新日志,但这不再起作用.
有没有办法在模块中编辑数据文件?或者有更好的方法来保存此列表吗?