小编rod*_*ocf的帖子

pdfminer上的警告

我已经发现并(稍微)修改了stackoverflow中的这个脚本,以便它可以在python 3.3上运行:

from pdfminer.pdfinterp import PDFResourceManager, process_pdf
from pdfminer.converter import TextConverter
from pdfminer.layout import LAParams
from io import StringIO

def convert_pdf(path):

    rsrcmgr = PDFResourceManager()
    retstr = StringIO()
    codec = 'utf-8'
    laparams = LAParams()
    device = TextConverter(rsrcmgr, retstr, laparams=laparams)

    fp = open(path, 'rb')
    process_pdf(rsrcmgr, device, fp)
    fp.close()
    device.close()

    string = retstr.getvalue()
    retstr.close()
    return string


print(convert_pdf('abc.pdf'))
Run Code Online (Sandbox Code Playgroud)

它工作正常,但我似乎有两个问题:

  • 在运行脚本时,我收到了大量的警告:

    警告:root:undefined:PDFCIDFont:basefont ='LKOELN + Wingdings-Regular',cidcoding ='Adobe-Identity',139
    警告:root:undefined:PDFCIDFont:basefont ='LKKPCF + Wingdings2',cidcoding ='Adobe-Identity' ,132

在印刷文本中看起来(cid:139)如何,我如何捕获此警告并用其他内容替换该文本?

  • 请注意,我有一个编解码器行,在原始脚本中进入TextConverter(rsrcmgr, retstr, laparams=laparams),但我得到:

    回溯(最近一次调用最后一次):文件"C:/Users/rodrigo/Desktop/csp_pdf/csp_pdf2.py",第46行,在convert_pdf('abc.pdf')文件中"C:/ Users/rodrigo/Desktop/csp_pdf /csp_pdf2.py",第33行,在convert_pdf设备= TextConverter(rsrcmgr,retstr,codec ='utf-8',laparams …

python pdf python-3.x pdfminer

5
推荐指数
1
解决办法
6173
查看次数

Redshift + SQLAlchemy 长查询挂起

我正在做一些事情:

conn_string = "postgresql+pg8000://%s:%s@%s:%d/%s" % (db_user, db_pass, host, port, schema)
conn = sqlalchemy.engine.create_engine(conn_string,execution_options={'autocommit':True},encoding='utf-8',isolation_level="AUTOCOMMIT") 
rows = cur.execute(sql_query)
Run Code Online (Sandbox Code Playgroud)

在 Redshift 集群上运行查询。最近,我一直在执行维护任务,例如vacuum reindex在每天被截断和重新加载的大表上运行。

问题是,上面的命令对于一个特定的表(该表很大,15 列有 6000 万行)需要大约 7 分钟,当我使用上面的方法运行它时,它永远不会完成并挂起。我可以在 AWS 的集群仪表板中看到,vacuum 命令的一部分正在运行大约 5 分钟,然后它就停止了。没有python错误,集群上没有错误,什么都没有。

我的猜测是在命令期间连接丢失。那么,如何证明我的理论呢?还有其他人有这个问题吗?我如何更改连接字符串以使其保持更长时间?

编辑:

我在这里发表评论后改变了我的连接:

conn = sqlalchemy.engine.create_engine(conn_string,
                                       execution_options={'autocommit': True},
                                       encoding='utf-8',
                                       connect_args={"keepalives": 1, "keepalives_idle": 60,
                                                             "keepalives_interval": 60},  
                                                        isolation_level="AUTOCOMMIT")
Run Code Online (Sandbox Code Playgroud)

它已经工作了一段时间。但是,它决定对更大的表开始使用相同的行为,其中vacuum reindex实际上需要大约 45 分钟(至少这是我的估计,该命令从未在 Python 中完成运行)。

无论查询运行时如何,我怎样才能使这项工作正常进行?

python sqlalchemy python-3.x amazon-redshift

5
推荐指数
1
解决办法
1579
查看次数

使用cx_freeze为tkinter接口创建.exe文件

我在这个地方找到了这个答案,但我找不到答案.我有一个python脚本(3.3),它有一个与tkinter的接口.我用cx_freeze从中创建了一个可执行文件,得到了一个包含一些文件和文件夹的build文件夹.我双击.exe文件,没有任何反应.我正在使用以下设置:

import sys

from cx_Freeze import setup, Executable



base = None
if sys.platform == "win32":
    base = "Win32GUI"

setup(
        name = "simple_Tkinter",
        version = "0.1",
        description = "Sample cx_Freeze Tkinter script",
        executables = [Executable("the timer.py", base = base)])
Run Code Online (Sandbox Code Playgroud)

如果我只是打开我的代码并运行它,界面运行完美.在构建时我没有得到任何错误消息(至少没有我能看到的......顺便说一句,我如何验证这个?).关于问题可能是什么的任何想法?或任何其他替代模块?

谢谢!!:)

python tkinter cx-freeze

4
推荐指数
1
解决办法
1万
查看次数

将事件从 API 网关传递到 Lambda

我有一个可以以多种不同形式接收 JSON 的 lambda 函数。这个想法是通过 API Gateway 接收它。当我测试给定任何形式的 JSON 的函数时,它工作正常。但是,当我尝试通过 API Gateway 对其进行测试时,它失败了,因为该事件为空。

我尝试添加一个空模型映射:

{}
Run Code Online (Sandbox Code Playgroud)

但我仍然得到相同的结果。如何让 API 将主体中的任何类型的 JSON 传递给函数?

谢谢!

编辑

我想使用 Lambda 代理集成,并且我在 AWS 控制台中使用邮递员和 API 网关测试功能进行了测试。我只是在主体和内容类型标头中使用所需的 JSON 执行 POST。

在此处输入图片说明

amazon-web-services aws-lambda api-gateway

4
推荐指数
1
解决办法
8702
查看次数

将 React 转换为 React Native

我有一个需要转换为 React Native 的 React 应用程序。我在 Web 开发方面没有很多经验,所以我可能在这里遗漏了一些重要的东西。我遇到的问题是,当我在模拟器中打开应用程序时,我只看到一个白页,上面写着“主页”。这是我到目前为止翻译的代码。

索引.js

import {AppRegistry} from 'react-native';
import App from './App';
import {name as appName} from './app.json';

AppRegistry.registerComponent(appName, () => App);
Run Code Online (Sandbox Code Playgroud)

应用程序.js

import React from 'react';
import Routes from './src/core/Routes';
import configureStore from './src/services/store';
import {Provider} from 'react-redux';
import {View} from 'react-native';
import {createMuiTheme, MuiThemeProvider} from '@material-ui/core';
import {
    font_family_default,
    font_family_secondary,
    font_size_md,
    font_size_sm,
    font_weight_bold,
    font_weight_normal,
    font_weight_semi_bold,
} from './src/assets/style/variables';
import {rem} from './src/assets/style/functions';
import colors from './src/assets/style/colors';

const theme = createMuiTheme({
    typography: {
        fontFamily: …
Run Code Online (Sandbox Code Playgroud)

reactjs react-native

3
推荐指数
2
解决办法
2665
查看次数

如果名称满足条件,则删除特定扩展名的文件

我不确定这是否简单,但我有一个文件夹,里面有很多 csv 和 txt 文件。我需要删除名称末尾没有 0 的所有 CSV 文件。我有一个简单的方法来做到这一点?

以防万一该文件夹与我的脚本所在的文件夹相同,因此无需输入文件路径。我正在运行 python 3.3.3。任何想法都非常感谢!!

谢谢!!

python file python-3.x

1
推荐指数
1
解决办法
3539
查看次数

从txt文件中读取json的问题

我在一个txt文件中有一个json字符串,我正在尝试读取它以后再做一些其他的程序.它看起来像这样:

with open('code test.txt', 'r', encoding=('UTF-8')) as f:
    x = json.load(f)
Run Code Online (Sandbox Code Playgroud)

我知道json是有效的,但我得到了:

Traceback (most recent call last):
  File "C:\Python33\lib\json\decoder.py", line 368, in raw_decode
    obj, end = self.scan_once(s, idx)
StopIteration

During handling of the above exception, another exception occurred:

    Traceback (most recent call last):
      File "C:\Users\rodrigof\Desktop\xml test\xml extraction.py", line 334, in <module>
        user_input()
      File "C:\Users\rodrigof\Desktop\xml test\xml extraction.py", line 328, in user_input
        child_remover()
      File "C:\Users\rodrigof\Desktop\xml test\xml extraction.py", line 280, in child_remover
        x = json.load(f)
      File "C:\Python33\lib\json\__init__.py", line 274, in load
        parse_constant=parse_constant, object_pairs_hook=object_pairs_hook, …
Run Code Online (Sandbox Code Playgroud)

python json python-3.x

0
推荐指数
1
解决办法
6107
查看次数

将列表更改为具有特定格式的字符串

假设我有一个名单:

names = ['john', 'george', 'ringo', 'paul']
Run Code Online (Sandbox Code Playgroud)

并需要得到一个字符串输出,如:

john', 'george', 'ringo', 'paul
Run Code Online (Sandbox Code Playgroud)

(请注意,开头和结尾的缺失引用是有目的的)

有没有比这更简单的方法

new_string=''
for x in names:
    new_string = new_string + x + "', '"
Run Code Online (Sandbox Code Playgroud)

我知道这样的东西会起作用,但真正的names清单会非常非常(非常)大,并且想知道是否有更好的方法来做到这一点.

python string python-3.x

0
推荐指数
1
解决办法
33
查看次数

在Tkinter中使用root.after和root.mainloop的正确方法

我有一个tkinter界面,需要每5分钟自动刷新一次。到目前为止,没有问题,您只需要执行以下操作即可:

root.after(300000, function_to_run, args_of_fun_to_run)
Run Code Online (Sandbox Code Playgroud)

问题是我必须在“无限”时间内完成此操作。该方案是GUI将在连接到电视的PC上运行,并在我的办公室中显示24/7的某些信息。这可以工作大约8个小时,然后出现以下错误:

在此处输入图片说明

现在,我知道回溯一直一直到我使用matplotlib的自定义模块之一中的一行。我的自定义模块都不使用任何循环,因此我知道错误不是直接来自其中一个循环(如果我输入错误,请更正我),因此必须由我无限次地重复执行该函数。这是我主要功能的代码:

from tkinter import *
from tkinter import ttk
import logging
import datetime
import sys

sys.path.append(r'C:\Users\me\Desktop\seprated sla screens')

import sla_main as sla
import main_frame as mf
import sla_grid as sg
import incoming_volume as iv
import outgoing_volume as ov
import read_forecast as fc
import get_headers as hd
import vol_graph as vg
import out_graph as og
import add_graph as ag
import sla_reduction_email as sre

###################################
###################################
###################################
###################################

runs = 0

def maininterface(f_size, pic_x, pic_y):

    global runs …
Run Code Online (Sandbox Code Playgroud)

python tkinter python-3.x

0
推荐指数
1
解决办法
1万
查看次数