小编Iro*_*ist的帖子

返回第一个匹配正则表达式的字符串

我想获得正则表达式的第一场比赛.

在这种情况下,我得到了一个清单:

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)

有没有一种方法可以在不定义新功能的情况下获得该结果?

python regex

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

alembic util命令错误找不到标识符

我正在尝试使用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忘记那个文件?或者重新启动比较从无到 - >再次自动生成?

postgresql sqlalchemy-migrate flask-sqlalchemy alembic

34
推荐指数
3
解决办法
3万
查看次数

声明图像字段的正确方法,sqlalchemy

我正在尝试使用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 sqlite flask-sqlalchemy

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

python 2.7中的HTTP 2请求

在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,或者我应该添加任何额外的东西.

python http http2

8
推荐指数
2
解决办法
6885
查看次数

如何在python中的类定义中声明未初始化的变量

我来自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)

但这不正确.主要目的是构建我的类的定义,如结构,然后根据需要去实例化变量.

并且将不胜感激.

python variables initialization

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

PyQt 相当于 tkinter 的画布是什么?

我最近决定尝试从 切换tkinterPyQt,但是我无法弄清楚如何使用tkinter的画布小部件来完成我可以做的事情。

一些google搜索后,好像它要么QPainterQPixMap或它们的某种组合。似乎也有一些东西Qt被调用,canvas但我认为这不是我要找的东西。

有人能解释一下我应该用什么来在屏幕上绘制线条和形状,并给我指点一个关于如何使用它的好教程吗?

谢谢

python qt tkinter pyqt4 python-3.x

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

为给定的整数生成x + xx + xxx + xxxx ...(对于4 - > 4 + 44 + 444 ......)

我必须在每次迭代时逐步连接给定的数字,以便它返回一个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

6
推荐指数
2
解决办法
2387
查看次数

更改 urlparse.path 的 url

这是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 urlparse python-3.x

6
推荐指数
2
解决办法
2938
查看次数

os.walk 目录名中的空列表是什么?

当使用 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)

python os.walk python-3.5

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

如何从硒中获取img

如何使用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 selenium python-2.7 selenium-webdriver

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