我已经发现并(稍微)修改了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 …
我正在做一些事情:
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脚本(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)
如果我只是打开我的代码并运行它,界面运行完美.在构建时我没有得到任何错误消息(至少没有我能看到的......顺便说一句,我如何验证这个?).关于问题可能是什么的任何想法?或任何其他替代模块?
谢谢!!:)
我有一个可以以多种不同形式接收 JSON 的 lambda 函数。这个想法是通过 API Gateway 接收它。当我测试给定任何形式的 JSON 的函数时,它工作正常。但是,当我尝试通过 API Gateway 对其进行测试时,它失败了,因为该事件为空。
我尝试添加一个空模型映射:
{}
Run Code Online (Sandbox Code Playgroud)
但我仍然得到相同的结果。如何让 API 将主体中的任何类型的 JSON 传递给函数?
谢谢!
编辑
我想使用 Lambda 代理集成,并且我在 AWS 控制台中使用邮递员和 API 网关测试功能进行了测试。我只是在主体和内容类型标头中使用所需的 JSON 执行 POST。
我有一个需要转换为 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) 我不确定这是否简单,但我有一个文件夹,里面有很多 csv 和 txt 文件。我需要删除名称末尾没有 0 的所有 CSV 文件。我有一个简单的方法来做到这一点?
以防万一该文件夹与我的脚本所在的文件夹相同,因此无需输入文件路径。我正在运行 python 3.3.3。任何想法都非常感谢!!
谢谢!!
我在一个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) 假设我有一个名单:
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清单会非常非常(非常)大,并且想知道是否有更好的方法来做到这一点.
我有一个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 ×7
python-3.x ×6
tkinter ×2
api-gateway ×1
aws-lambda ×1
cx-freeze ×1
file ×1
json ×1
pdf ×1
pdfminer ×1
react-native ×1
reactjs ×1
sqlalchemy ×1
string ×1