通过以下方式使用pdfminer(git的最新版本)安装时,出现UnicodeEncodeError pip install git+https://github.com/pdfminer/pdfminer.six.git:
Traceback (most recent call last):
File "pdfminer_sample3.py", line 34, in <module>
print(convert_pdf_to_txt("samples/numbers-test-document.pdf"))
File "pdfminer_sample3.py", line 27, in convert_pdf_to_txt
text = retstr.getvalue()
File "/usr/lib/python2.7/StringIO.py", line 271, in getvalue
self.buf += ''.join(self.buflist)
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 0: ordinal not in range(128)
Run Code Online (Sandbox Code Playgroud)
我该如何解决?
#!/usr/bin/env python
from pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter
from pdfminer.converter import TextConverter
from pdfminer.layout import LAParams
from pdfminer.pdfpage import PDFPage
from StringIO import StringIO
import codecs …Run Code Online (Sandbox Code Playgroud) 我想获取 python 代码以使用 Bandit 静态分析器进行分析。主要重点是安全性,对于 python 2.7。
任何人都可以帮忙吗?
谢谢。
我想尝试一下TextCat。如果我可以从 Python 运行它对我来说最方便,因为我想看看它在私有数据集上的表现如何。
我给了languagedet,但根据
from languagedet.mixed import MixedDetector
det = MixedDetector()
print(det.available)
Run Code Online (Sandbox Code Playgroud)
远少于 TextCats 网站上声称的 69 种语言可通过 languagedet 获得。
我也试过pylibtextcat,但我得到:
Collecting pylibtextcat
Using cached pylibtextcat-0.2.tar.bz2
Building wheels for collected packages: pylibtextcat
Running setup.py bdist_wheel for pylibtextcat ... error
Complete output from command /usr/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-1dkslney/pylibtextcat/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d /tmp/tmpyct9pyfepip-wheel- --python-tag cp35:
running bdist_wheel
running build
running build_ext
building 'textcat' extension
creating build
creating build/temp.linux-x86_64-3.5
x86_64-linux-gnu-gcc -pthread -DNDEBUG …Run Code Online (Sandbox Code Playgroud) 当我执行时
$ aws lambda list-functions
Run Code Online (Sandbox Code Playgroud)
我得到了所有 lambda 函数的列表:
{
"Functions": [
{
"TracingConfig": {
"Mode": "PassThrough"
},
"Version": "$LATEST",
"CodeSha256": "aB+/Defg0+abcdefghijklmnopqerstuvwxyzABCDEF=",
"FunctionName": "foofunction",
"VpcConfig": {
"SubnetIds": [],
"SecurityGroupIds": []
},
"MemorySize": 128,
"RevisionId": "123abc45-1234-1234-1234-123456789012",
"CodeSize": 61521970,
"FunctionArn": "arn:aws:lambda:us-east-1:123456789012:function:foofunction",
"Environment": {
"Variables": {
"FOO": "BAR",
"ESCAPING": "[\"a\", \"b\", \"c\"]",
"IS_VALUE": "1"
}
},
"Handler": "lambda_function.lambda_handler",
"Role": "arn:aws:iam::123456789012:role/service-role/lamdaRole",
"Timeout": 300,
"LastModified": "2018-03-01T12:11:10.987+0000",
"Runtime": "python3.6",
"Description": ""
}]
}
Run Code Online (Sandbox Code Playgroud)
是否可以用它来创建一个新的 lambda 函数?我正在寻找类似的东西
$ aws lambda create-function --config myconfig.json
Run Code Online (Sandbox Code Playgroud)
其中myconfig.json包含名称、环境变量、区域、角色、处理程序、运行时和描述。
作为一名数据科学家/机器学习开发人员,我大部分时间(总是?)都有一个load_data函数。执行该函数通常需要超过 5 分钟,因为执行的操作成本很高。当我将最终结果存储load_data在 pickle 文件中并再次读取该文件时,时间通常会缩短到几秒钟。
所以我经常使用的一个解决方案是:
def load_data(serialize_pickle_path, original_filepath):
invalid_hash = True
if os.path.exists(serialize_pickle_path):
content = mpu.io.read(serialize_pickle_path)
data = content['data']
invalid_hash = mpu.io.hash(original_filepath) != content['hash']
if invalid_hash:
data = load_data_initial()
filehash = mpu.io.hash(original_filepath)
mpu.io.write(serialize_pickle_path, {'data': data, 'hash': filehash})
return data
Run Code Online (Sandbox Code Playgroud)
该解决方案有一个主要缺点:如果发生load_data_initial更改,文件将不会重新加载。
有没有办法检查Python函数的变化?
我尝试使用 Python 和 PyPDF2 包来阅读 PDF 文档。目标是读取pdf中的所有书签,并构建一个以书签页码为键、书签标题为值的字典。
除了这篇文章之外,互联网上没有太多关于如何实现它的支持。其中发布的代码不起作用,我不是 python 专家来纠正它。PyPDF2的阅读器对象有一个名为outlines的属性,它为您提供所有书签对象的列表,但书签没有页码,并且遍历该列表并不困难,因为书签之间没有父/子关系。
我在下面分享我的代码来阅读 pdf 文档并检查轮廓属性。
import PyPDF2
reader = PyPDF2.PdfFileReader('SomeDocument.pdf')
print(reader.numPages)
print(reader.outlines[1][1])
Run Code Online (Sandbox Code Playgroud) 当我尝试从 S3 删除事件通知时,收到以下消息:
在文本中:
无法验证以下目标配置。无权调用函数 [arn:aws:lambda:eu-west-1:FOOBAR:function:FOOBAR]。(arn:aws:lambda:eu-west-1:FOOBAR:函数:FOOBAR,空)
我的组织中似乎没有人能够删除它 - 甚至管理员也不能。
当我尝试通过 Web 界面在 AWS Lambda 中设置相同的 S3 事件通知作为触发器时,我得到
配置定义不明确。如果同一事件类型的前缀重叠,则两个规则中不能有重叠的后缀。(服务:Amazon S3;状态代码:400;错误代码:InvalidArgument;请求 ID:FOOBAR;S3 扩展请求 ID:FOOBAR/FOOBAR/FOOBAR)
如何删除现有的事件通知?我怎样才能进一步调查这个问题?
black每当我在 Sublime Text 3 中保存 Python 文件时,我都想申请。我该怎么做?
(如果有快速禁用它的方法可以加分)
我想使用 TF-IDF 功能对文档进行分类。一种方法:
from sklearn.feature_extraction.text import TfidfVectorizer
import string
import re
import nltk
def tokenize(document):
document = document.lower()
for punct_char in string.punctuation:
document = document.replace(punct_char, " ")
document = re.sub('\s+', ' ', document).strip()
tokens = document.split(" ")
# Contains more than I want:
# from spacy.lang.de.stop_words import STOP_WORDS
stopwords = nltk.corpus.stopwords.words('german')
tokens = [token for token in tokens if token not in stopwords]
return tokens
# How I intend to use it
transformer = TfidfVectorizer(tokenizer=tokenize)
example = "Jochen Schweizer ist …Run Code Online (Sandbox Code Playgroud) 已安装 Python 3.7.6 并尝试在 Visual Studio Code 中编写代码
使用: import pikepdf
得到我的错误 ModuleNotFoundError: No module named 'pikepdf'
但是,我运行“pip install pikepdf”并得到:
已满足要求:c:\users\ME\appdata\local\packages\pythonsoftwarefoundation.python.3.7_qbz5n2kfra8p0\localcache\local-packages\python37\site-packages (1.8.2)中的pikepdf 已满足要求:lxml>=4.0在 c:\users\ME\appdata\local\packages\pythonsoftwarefoundation.python.3.7_qbz5n2kfra8p0\localcache\local-packages\python37\site-packages(来自 pikepdf)(4.4.2)
我的 Python 安装路径是:
C:\Users\ME\AppData\Local\Programs\Python\Python38
尝试更改“Python:Python 路径”中的某些内容会导致更多错误。
python ×5
aws-lambda ×2
amazon-s3 ×1
analyzer ×1
ner ×1
nlp ×1
nltk ×1
pdf ×1
pdfminer ×1
pikepdf ×1
pip ×1
pypdf ×1
python-3.x ×1
python-black ×1
scikit-learn ×1
security ×1
spacy ×1
sublimetext3 ×1