python 3是否有用于制作过滤流的结构?特别是,我的目标是计算从REST服务读取的内容的md5校验和,而不需要额外的副本.如果我可以继承某种类型的过滤器流并将字节推送到hashlib派生的md5对象中,我会很好.
目前,我的代码包括:
shutil.copyfileobj(r.raw, outstream)
Run Code Online (Sandbox Code Playgroud)
其中'r'是响应对象.我可以在r.raw周围包装一个生成器或一些这样的东西,它将被调用,每个数据缓冲区都被读取,这样我就可以将它传递给md5了吗?
class a:
def __init__(self):
b
def c(self):
d(e)
def d(self,g):
print 1
Run Code Online (Sandbox Code Playgroud)
我想知道如果我想在函数c中使用函数d,我应该怎么做,因为它转为"未定义全局名称d".谢谢.
我试过meta property="og:image",meta property="og:image:security"并且link rel="image_src"但是当我点击链接,共享者没有得到缩略图.它显示标题,描述和网址.我试图重新缩放图像90x90,200x200并500x500却什么都没有发生.这是代码:
<meta property="og:url" content="URL">
<meta property="og:title" content="TITLE">
<meta property="og:description" content="DESCRIPTION" />
<meta property="og:type" content="website">
<meta property="og:image" content="IMAGE">
<meta property="og:site_name" content="SITE NAME">
<a href="https://www.facebook.com/sharer/sharer.php?u=url" target="_blank">Share on FB!</a>
Run Code Online (Sandbox Code Playgroud)
PS:我也有https,我也试过了.
这是输出:

如果我想尝试很多方法来避免一些错误,我可以写:
try:
try:
trial_1()
except some_error:
try:
trial_2()
except some_error:
try:
trial_3()
...
print "finally pass"
except some_error:
print "still fail"
Run Code Online (Sandbox Code Playgroud)
但是有太多的试验,所以太多的巢,如何以平面样式写它?
这次我正在尝试Solem博客的另一个例子.它是一个通过使用霍夫变换检测图像中的线条和圆圈的模块.这是代码(houghlines.py):
import numpy as np
import cv2
"""
Script using OpenCV's Hough transforms for reading images of
simple dials.
"""
# load grayscale image
im = cv2.imread("house2.jpg")
gray_im = cv2.cvtColor(im, cv2.COLOR_RGB2GRAY)
# create version to draw on and blurred version
draw_im = cv2.cvtColor(gray_im, cv2.COLOR_GRAY2BGR)
blur = cv2.GaussianBlur(gray_im, (0,0), 5)
m,n = gray_im.shape
# Hough transform for circles
circles = cv2.HoughCircles(gray_im, cv2.cv.CV_HOUGH_GRADIENT, 2, 10, np.array([]), 20, 60, m/10)[0]
# Hough transform for lines (regular and probabilistic)
edges = cv2.Canny(blur, …Run Code Online (Sandbox Code Playgroud) 如何在Python中查找下周六的日期?最好使用datetime和格式为'2013-05-25'?
我想知道标准库中是否有一个函数可以打印任何打印函数并将其作为字符串返回.似乎应该有,但如果它在那里我不是在寻找正确的位置.
我的情况是我做了一个编程练习,创建(经过一些计算)存储在列表中的一串数字,例如,
digits=[1, 0, 0, 1, 0, 1, 0, 0, 0, 1]
Run Code Online (Sandbox Code Playgroud)
和小数点的位置 dp=4
我想把它变成看起来像小数的东西.打印功能可以很好地显示我想要的内容:
print(*(digits[:dp + 1] + ['.'] + digits[dp + 1:]), sep='')
Run Code Online (Sandbox Code Playgroud)
产生 10010.10001
但如果我想以字符串形式返回此结果,我似乎必须编写其他代码.并不是说它很难,但如果已经内置了某些内容则没有必要.打印,格式或%运算符似乎都没有.我能找到的最接近的是StringIO类,但我希望能有一些简单而且不那么神秘的东西.
我正在学习Python 3并且正在进行一项练习,该练习要求编写一个模拟/读取BASIC程序作为输入的Python程序.我坚持编写应该检测无限循环的Python程序部分.这是我到目前为止的代码:
def execute(prog):
while True:
location = 0
if prog[location] == len(prog) - 1:
break
return "success"
getT = prog[location].split()
T = len(getT) - 1
location = findLine(prog, T)
visited = [False] * len(prog)
Run Code Online (Sandbox Code Playgroud)
这里,prog是包含BASIC程序的字符串列表(字符串的格式为5 GOTO 30,10 GOTO 20等).
T是prog [location]中指示的目标字符串.
如果BASIC程序有一个无限循环,那么我的Python程序将有一个无限循环.我知道如果任何一行访问两次,那么它会永远循环,我的程序应该返回"无限循环".
教程助手给出的提示说"初始化一个访问的列表= [False]*len(prog),并在访问prog [i]时将visited [i]更改为True.每次循环时,访问的一个值更新[考虑如何更改列表中的单个值.然后考虑如何识别访问[]中需要更改的值."
所以这是我坚持的部分.如何跟踪prog中访问/循环的字符串?
在Python 3.x中有没有办法创建一个新类型?我只能找到用c ++做的方法.
基本上我想要做的是创建一个词法分析器,我扫描输入和python已经可以做int和字符串,但如果我想要另一个数据类型,如名称,我怎么能分配它,以便我可以做...
EX)
# This can be done
>>> a = "string"
>>> type(a)
<class, 'str'>
# How can I do this?
>>> b = myName
>>> type(myName)
<class, 'name'>
Run Code Online (Sandbox Code Playgroud) 我有一个大字符串.我经常只搜索这个字符串的一部分,但我现在需要在大字符串中找到切片中找到的位.
有没有办法在字符串上使用'掩码'?那是
original = 'This is a mock-up large string'
a_slice = original[10:23]
a_slice.find('o')
>>> 1 in a_slice; 11 in original
Run Code Online (Sandbox Code Playgroud)
简单地重复搜索是没有选择的,因为这太昂贵了.
上面的玩具示例使用find.在实践中我使用re.finditer().
python ×9
python-3.x ×4
python-2.7 ×2
coding-style ×1
datetime ×1
fbml ×1
flat ×1
nested ×1
nonetype ×1
regex ×1
string ×1
typeerror ×1
types ×1
xfbml ×1