我无法理解Python 3中的嵌套字典理解.我从下面的示例中得到的结果输出正确的结构而没有错误,但只包含一个内部键:值对.我没有找到这样的嵌套字典理解的例子; 谷歌搜索"嵌套字典理解python"显示遗留示例,非嵌套理解,或使用不同方法解决的答案.我可能使用了错误的语法.
例:
data = {outer_k: {inner_k: myfunc(inner_v)} for outer_k, outer_v in outer_dict.items() for inner_k, inner_v in outer_v.items()}
Run Code Online (Sandbox Code Playgroud)
此示例应返回原始字典,但内部值已修改myfunc
.
outer_dict字典的结构,以及结果:
{outer_k: {inner_k: inner_v, ...}, ...}
Run Code Online (Sandbox Code Playgroud) python syntax nested list-comprehension dictionary-comprehension
有没有办法让TypeScript不抛出错误'TS2339:类型元素上不存在属性值'这样的代码?:
myRow.querySelector('.my-class').value = myVal
Run Code Online (Sandbox Code Playgroud)
转换为<HTMLInputElement>导致代码完全中断.
除非我遗漏了某些东西,否则打字稿似乎不能很好地处理涉及DOM的事情; 即它选择特定的一般来说可以返回任何元素的函数.
Python 3的最新形式的Oauth是什么?
我正在尝试使用我的经纪人API创建一个股票筛选器,它使用Oauth.我发现的大部分信息都已过时或存在冲突.我看过以下模块引用:
Oauth - 似乎是原始的,现在已经过时了.我得到一个错误"'模块'对象没有属性'消费者'"
Oauth2 - 较新的版本,显然也已过时了?在线引用最多的一个.在点子中出现故障/无法弄清楚如何安装它.
Oauthlib - IIRC声称是Oauth和Oauth2的新替代品
Rauth.OAuth2Service - 也可能替代Oauth和Oauth2?
要求 - ?
Oauth_hook - ?
pyoauth2 - 我在pyoauth2的init中没有一个名为"client"的模块时收到错误.
他们似乎没有按预期工作,我觉得这是由于Oauth 3支持率低.你有没有让OAuth在Python 3中工作?如果是这样,你是怎么做到的?
Python 3.我正在使用QT的文件对话框小部件来保存从互联网下载的PDF.我一直在使用'open'读取文件,并尝试使用文件对话框小部件来编写它.但是,我一直遇到"TypeError:'_ io.BufferedReader'不支持缓冲区接口"错误.
示例代码:
with open('file_to_read.pdf', 'rb') as f1:
with open('file_to_save.pdf', 'wb') as f2:
f2.write(f1)
Run Code Online (Sandbox Code Playgroud)
当不使用'b'指示符时,或者当从web读取文件时,这种逻辑适用于文本文件,例如urllib或者请求.这些是"字节"类型,我认为我需要打开文件.相反,它作为缓冲读者开放.我尝试了字节(f1),但得到"TypeError:'bytes'对象不能被解释为整数." 有什么想法吗?
Pypi问题:不允许存储或编辑包信息.我正在学习本教程.
.pypirc
[distutils]
index-servers =
pypi
pypitest
[pypi]
respository: https://pypi.python.org/pypi
username: Redacted
password: Redacted
[pypitest]
respository: https://testpypi.python.org/pypi
username: Redacted
password: Redacted
Run Code Online (Sandbox Code Playgroud)
setup.py
from setuptools import setup, find_packages
with open('README.rst') as f:
readme = f.read()
setup(
name = "quick",
version = "0.1",
packages = find_packages(),
install_requires = ['numba>=0.17.0',
'numpy>=1.9.1',],
url = 'https://github.com/David-OConnor/quick',
description = "Fast implementation of numerical functions using Numba",
long_description = readme,
license = "apache",
keywords = "fast, numba, numerical, optimized",
)
Run Code Online (Sandbox Code Playgroud)
命令:
python setup.py register -r …
Run Code Online (Sandbox Code Playgroud) 在尝试为Vulkan构建投影矩阵时,我遇到了矛盾,并且尚未找到投影矩阵应如何将Z从输入向量映射到输出的解释.映射x和y很简单.我的理解是OpenGL Projection矩阵应该将近平截头体平面映射到-1,远远地映射到+1.Vulkan分别为0和+1.映射应该是对数的,允许近场更高的精度.
下面的例子使用near(n)= 1,far(f)= 100.这是使用我为Vulkan规范构造的矩阵的z映射图.它会在渲染中产生错误,但会产生正确的结果,因为我理解它:
lambda z: (f / (f-n) * z - f*n/(f-n)) / z
我在网上找到的最常见的OpenGL投影图,应该从-1到+1:
lambda z: ((-f+n)/(f-n)*z - 2*f*n/(f-n))/-z
这里是我使用的lib生成的一个,用于OpenGL(Rust中的cgmath):
我无法构建一个适当的Vulkan投影矩阵(其中我没有通过谷歌找到),除非我理解z应该映射到什么.我怀疑这是由于着色器后投影矩阵的隐式校正实际上映射到我列出的范围,但如果是这样,我不知道通过项目进入它的范围.
我试图解决这个问题WebAssembly注:"注意:要使用运行instantiateStreaming
和compileStreaming
,你需要你的Web服务器来服务.wasm文件与application/wasm
MIME类型https的箱子,可以用来为从本地主机文件,包括应用程序/ WASM. MIME类型开箱即用."
实际上,我在JS控制台中遇到MIME错误.谷歌搜索显示没有办法配置它.Mozilla建议在depAsated WebAssembly.instantiate上实例化.如果使用stdweb或bindgen,后者对我也不起作用:它需要第二个参数,我不知道如何提供.
我正在尝试从源代码编译Pyaudio(一个Python模块),因为我使用的是Windows,只有32位二进制文件可用 - 我需要64个.按照这些说明,我下载了Cygwin,并安装了每个组件,安全.首先需要安装另一个模块Portaudio.
当我运行时CFLAGS="-mno-cygwin" LDFLAGS="-mno-cygwin" ./configure
,我收到错误configure: error: C compiler cannot create executables. See 'config.log' for more details.
config.log在该消息下面有一个额外的行:gcc: The -mno-cygwin flag has been removed; use a mingw-targeted cross-compiler.
这让我相信Cygwin可能正在使用错误的编译器; 说明是使用MinGw和Cygwin,但我从来没有在过程中指定minigw.我也想知道PyAudio构建文件中是否存在需要针对64位进行更改的内容.我对C,编译,Cygwin或MinGW一无所知,也不熟悉编程.有任何想法吗?我可以提供的任何其他信息?
我正在努力使用Python和Requests访问流API.
API说的是:"我们已经启用了一个流端点,用于通过持久的HTTP套接字连接请求报价和交易数据.来自API的流数据包括发出Authenticated HTTP请求并保持HTTP套接字打开以持续接收数据".
我是如何尝试访问数据的:
s = requests.Session()
def streaming(symbols):
url = 'https://stream.tradeking.com/v1/market/quotes.json'
payload = {'symbols': ','.join(symbols)}
return s.get(url, params=payload, stream=True)
r = streaming(['AAPL', 'GOOG'])
Run Code Online (Sandbox Code Playgroud)
这里的请求文档显示了两个感兴趣的东西:使用生成器/迭代器与分块数据一起使用,在数据字段中传递.对于流数据,它建议使用如下代码:
for line in r.iter_lines():
print(line)
Run Code Online (Sandbox Code Playgroud)
似乎没有效果,虽然我不知道在生成器功能中放什么,因为这个例子不清楚.使用r.iter_lines(),我得到输出:"b'{"status":"connected"} {"status":disconnected"}'"
我可以访问标头,响应是HTTP 200,但无法获取有效数据,或者找到有关如何在python中访问流式HTTP数据的明确示例.任何帮助,将不胜感激.API建议使用Jetty for Java来保持流的开放,但我不确定如何在Python中执行此操作.
标题:{'connection':'keep-alive','content-type':'application/json','x-powered-by':'Express','transfer-encoding':'chunked'}
我希望有人能帮助我解决 Qt 设计师的问题。我正在尝试从调用 GUI 文件的类外部修改 GUI 元素。我已经设置了示例代码来显示我的程序的结构。func2
我的目标是在主程序(或另一个类)中获取, 来更改主窗口的状态栏。
from PyQt4 import QtCore, QtGui
from main_gui import Ui_Main
from about_gui import Ui_About
#main_gui and about_gui are .py files generated by designer and pyuic
class StartQT4(QtGui.QMainWindow):
def __init__(self, parent=None):
QtGui.QWidget.__init__(self, parent)
self.ui = Ui_Main()
self.ui.setupUi(self)
self.ui.actionMyaction.triggered.connect(self.func1)
#Signals go here, and call this class's methods, which call other methods.
#I can't seem to call other methods/functions directly, and these won't take arguments.
def func1(self):
#Referenced by the above code. Can interact …
Run Code Online (Sandbox Code Playgroud) 我有一个大的多行字符串,其中有多个条目遵循类似的格式.我想将它拆分为每个条目的字符串列表.
我尝试了以下方法:
myre = re.compile('Record\sTime.*-{5}', re.DOTALL)
return re.findall(myre, text)
Run Code Online (Sandbox Code Playgroud)
在这种情况下,条目以"记录时间"开头,以"-----"结束.上面的代码不是按照我的方式行事,而是返回一个项目,从第一个条目的开头开始,到最后一个条目的结尾.
我可能会找到一种方法来通过使用正则表达式来查找段的结尾,然后从原始文本的片段开始重复,但这看起来很混乱.
我正在尝试将嵌入在HTML文档中的乳胶代码(旨在与Javascript填充程序一起使用)转换为MathML.Pandoc似乎是一个很棒的工具.以下示例:http://pandoc.org/demos.html,
pandoc input.html -s --latexmathml -o output.html
Run Code Online (Sandbox Code Playgroud)
不会对文件进行任何更改.我甚至制作了一个带有各种文本表达式的准系统空白HTML文件进行测试; 输出没有变化.我错过了什么?
http://math.etsu.edu/LaTeXMathML/这个由Pandoc链接的网站似乎显示了一个独立案例的文档,但是它使用JS shim而不是直接输出MathML.(我认为它有浏览器渲染动态渲染的MathML,但实际上并没有将它输出到文件中)它也缺少一些基本功能,比如使用\ begin {equation}的自行函数.
我花了几个小时用谷歌搜索完成这个的方法.有任何想法吗?我发现的唯一完全可行的解决方案是https://www.mathtowebonline.com/这个网站.还有一个名为latex2mathml的python模块,但它也缺少规范的大块.
我正在使用PyQt和Python3.
我QTimer
没有调用他们被告知连接的功能.isActive()
正在返回True
,并interval()
正在正常工作.下面的代码(单独工作)演示了问题:线程已成功启动,但timer_func()
从未调用该函数.大多数代码都是样板PyQT.据我所知,我正在按照文档使用它.它在一个带有事件循环的线程中.有任何想法吗?
import sys
from PyQt5 import QtCore, QtWidgets
class Thread(QtCore.QThread):
def __init__(self):
QtCore.QThread.__init__(self)
def run(self):
thread_func()
def thread_func():
print("Thread works")
timer = QtCore.QTimer()
timer.timeout.connect(timer_func)
timer.start(1000)
print(timer.remainingTime())
print(timer.isActive())
def timer_func():
print("Timer works")
app = QtWidgets.QApplication(sys.argv)
thread_instance = Thread()
thread_instance.start()
thread_instance.exec_()
sys.exit(app.exec_())
Run Code Online (Sandbox Code Playgroud) python ×8
python-3.x ×3
qt ×2
buffer ×1
cygwin ×1
gcc ×1
graphics ×1
http ×1
io ×1
latex ×1
mathml ×1
mingw ×1
nested ×1
node.js ×1
oauth ×1
oauth-2.0 ×1
opengl ×1
packages ×1
pandoc ×1
portaudio ×1
pyaudio ×1
pypi ×1
pyqt ×1
pyqt5 ×1
qt-designer ×1
regex ×1
setuptools ×1
streaming ×1
syntax ×1
text ×1
typescript ×1
vulkan ×1
webassembly ×1