我想获得正则表达式的第一场比赛.
在这种情况下,我得到了一个清单:
text = 'aa33bbb44'
re.findall('\d+',text)
Run Code Online (Sandbox Code Playgroud)
['33','44']
我可以提取列表的第一个元素:
text = 'aa33bbb44'
re.findall('\d+',text)[0]
Run Code Online (Sandbox Code Playgroud)
'33'
但是只有在至少有一个匹配时才有效,否则我会收到错误:
text = 'aazzzbbb'
re.findall('\d+',text)[0]
Run Code Online (Sandbox Code Playgroud)
IndexError:列表索引超出范围
在这种情况下,我可以定义一个函数:
def return_first_match(text):
try:
result = re.findall('\d+',text)[0]
except Exception, IndexError:
result = ''
return result
Run Code Online (Sandbox Code Playgroud)
有没有一种方法可以在不定义新功能的情况下获得该结果?
我正在尝试使用alembic来处理我项目的本地迁移.它第一次工作,但后来我需要删除文件夹并重新启动.(不要问为什么,我只是必须)我正在按照本教程运行命令
python manage.py db init
Run Code Online (Sandbox Code Playgroud)
没关系.但是当我试着奔跑的时候
python manage.py db migrate
Run Code Online (Sandbox Code Playgroud)
我收到这个错误:
alembic.util.CommandError: Can't locate revision identified by '31b8ab83c7d'
Run Code Online (Sandbox Code Playgroud)
现在,似乎alembic正在寻找不再存在的修订版.无论如何,让alembic忘记那个文件?或者重新启动比较从无到 - >再次自动生成?
我正在尝试使用flask构建和应用程序,我看过一些教程和书籍以及一些代码[1],它们解释了如何为数据库设置声明整数和字符串。但是,它们没有解释如何存储图像。我现在很困惑,虽然存储图像的自然方式是在数据库中,但是阅读flask站点[2]上的一些文档,文件系统是存储图像的地方。我只是在阅读 Flask 开发书籍时做出第一个假设,即使用 largeBinary 的声明将是正确的,但这只是我的猜测,正如您在下面的代码中所见。有人可以帮我解决这个问题吗?如果我问的不清楚,请告诉我。
Class User(Base):
__table__ = 'user'
id = Column(Integer, primary_key = True)
name Column(String(80), nullable=False)
email = Column(String(250), nullable=False)
image = Column(LargeBinary, nullable = True)
Run Code Online (Sandbox Code Playgroud)
[1] https://github.com/lobrown/Full-Stack-Foundations/blob/master/Lesson_1/database_setup.py [2] http://flask.pocoo.org/docs/0.10/patterns/fileuploads/
在python中向HTTP/1和HTTP/2发出请求有什么不同吗?
我可以在python中进行HTTP/1.x调用
url = 'http://someURL'
values = {'param1' : 'key',
'param2' : 'key2'}
data = urllib.urlencode(values)
print data
req = urllib2.Request(url, data)
response = urllib2.urlopen(req)
the_page = response.read()
print the_page
Run Code Online (Sandbox Code Playgroud)
python是否支持默认使用HTTP/2,或者我应该添加任何额外的东西.
我来自MATLAB背景.当我创建类定义时,我可以实例化"空"变量名,然后为它们分配值或对象.即
classdef myclass < handle
properties
var1
var2
end
end
a = myClass;
a.var1 = someOtherClassObject;
Run Code Online (Sandbox Code Playgroud)
我如何在Python中执行此操作?我试过这样的事情:
class myClass:
def __init__(self):
var1
var2
a = myClass()
a.var1 = someOtherClassObject()
Run Code Online (Sandbox Code Playgroud)
但这不正确.主要目的是构建我的类的定义,如结构,然后根据需要去实例化变量.
并且将不胜感激.
我最近决定尝试从 切换tkinter到PyQt,但是我无法弄清楚如何使用tkinter的画布小部件来完成我可以做的事情。
一些google搜索后,好像它要么QPainter,QPixMap或它们的某种组合。似乎也有一些东西Qt被调用,canvas但我认为这不是我要找的东西。
有人能解释一下我应该用什么来在屏幕上绘制线条和形状,并给我指点一个关于如何使用它的好教程吗?
谢谢
我必须在每次迭代时逐步连接给定的数字,以便它返回一个sum和连接的字符串.这是我的尝试:
def digit_sum_from_letters(x):
a = int("%s" % x)
b = int("%s%s" % (x,x))
c = int("%s%s%s" % (x,x,x))
d = int("%s%s%s%s" % (x,x,x,x))
return a+b+c+d
print digit_sum_from_letters(9)
Run Code Online (Sandbox Code Playgroud)
回国 11106
但是我需要为任何给定的整数生成总和,所以我需要一个循环但是我被卡住了.
谢谢!
这是python代码:
url = http://www.phonebook.com.pk/dynamic/search.aspx
path = urlparse(url)
print (path)
>>>ParseResult(scheme='http', netloc='www.phonebook.com.pk', path='/dynamic/search.aspx', params='', query='searchtype=cat&class_id=4520&page=1', fragment='')
print (path.path)
>>>/dynamic/search.aspx
Run Code Online (Sandbox Code Playgroud)
现在我需要将其更改path.path为我的要求。就像如果“/dynamic/search.aspx”是路径,那么我只需要第一个斜杠和最后一个斜杠之间的部分,包括“/dynamic/”的斜杠。
我已经尝试了这两行,但最终结果不是我所期望的,这就是为什么我问这个问题的原因,因为我对“urllib.parse”的了解不够。
path = path.path[:path.path.index("/")]
print (path)
>>>Returns nothing.
path = path.path[path.path.index("/"):]
>>>/dynamic/search.aspx (as it was before, no change.)
Run Code Online (Sandbox Code Playgroud)
简而言之,无论 path.path 结果是什么,我只需要目录名称。例如:“动态/搜索/search.aspx”。现在我需要“动态/搜索/”
当使用 python 3.5os.walk()并查看目录名输出时,我得到很多空列表(返回[ ])。我不知道为什么。
import os
tdir = '/home/pontiac/testdir'
gen0 = os.walk(tdir)
print(next(gen0)[1])
print(next(gen0)[1])
gen1 = os.walk(tdir)
for ea in gen1:
print(ea[1])
Run Code Online (Sandbox Code Playgroud)
输出:
['t2', 't1']
[]
['t2', 't1']
[]
[]
Run Code Online (Sandbox Code Playgroud) 如何使用selenium包获取图像超链接.
from selenium import webdriver
driver = webdriver.Firefox()
driver.get("http://m.imdb.com/feature/bornondate")
elements = driver.find_elements_by_xpath("//a[@class='poster ']")
li = [["Name","Movie Title","Image"]]
for i in elements:
print i.find_element_by_tag_name("img") ##I am not sure how to get the URL
new_line= i.text.splitlines()
#print new_line[0] , " " , new_line[1]
li.append(new_line)
print li
Run Code Online (Sandbox Code Playgroud)
将数据写入CSV文件
with open ('imdb.csv','wb')as fp:
a = csv.writer(fp, delimiter=',')
a.writerows(li)
Run Code Online (Sandbox Code Playgroud) python ×9
python-3.x ×2
alembic ×1
http ×1
http2 ×1
os.walk ×1
postgresql ×1
pyqt4 ×1
python-2.7 ×1
python-3.5 ×1
qt ×1
regex ×1
selenium ×1
sqlite ×1
tkinter ×1
urlparse ×1
variables ×1