小编Mil*_*ano的帖子

过滤字符串中有n个相等字符的字符串

是否有一个选项如何从一行中包含例如3个相等字符的字符串列表中过滤这些字符串?我创建了一个可以做到这一点的方法,但我很好奇是否有更多的pythonic方式或更高效或更简单的方法来做到这一点.

list_of_strings = []


def check_3_in_row(string):
    for ch in set(string):
        if ch*3 in string:
            return True
    return False

new_list = [x for x in list_of_strings if check_3_in_row(x)]
Run Code Online (Sandbox Code Playgroud)

编辑:我刚刚找到一个解决方案:

new_list = [x for x in set(keywords) if any(ch*3 in x for ch in x)]
Run Code Online (Sandbox Code Playgroud)

但我不确定哪种方式更快 - regexp或者这个.

python string list filter char

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

Beautifulsoup在标签中分割文字

是否可以通过br标签分割标签中的文本?

我有这个标签内容: [u'+420 777 593 531', <br/>, u'+420 776 593 531', <br/>, u'+420 775 593 531']

我想只得到数字.有什么建议吗?

编辑:

[x for x in dt.find_next_sibling('dd').contents if x!=' <br/>']
Run Code Online (Sandbox Code Playgroud)

根本不起作用.

python tags text newline beautifulsoup

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

使用Selenium解析html - 类名称包含空格

我正在尝试使用Selenium解析一些html.问题是,如果类名包含空格,则会引发错误.

这是我要搜索的标签: <p class="p0 ng-binding">text</p>

我试过这两个选项:

result.find_element_by_class_name('departure').find_element_by_css_selector('p.p0 ng-binding').text 

result.find_element_by_class_name('departure').find_element_by_class_name('p0 ng-binding').text 

>>> selenium.common.exceptions.InvalidSelectorException: Message: The given selector p0 ng-binding is either invalid or does not result in a WebElement. The following error occurred:
InvalidSelectorError: Compound class names not permitted
Run Code Online (Sandbox Code Playgroud)

有人可以给我一个暗示吗?

html python selenium parsing text

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

Python中获取类的所有属性

是否可以获取某个类或对象的所有属性?我有一个具有许多属性的类,我想创建一个函数/方法,它返回对象的所有属性等于 None 。

由于这些属性有很多,我必须避免将它们全部写入函数中。

像这样的东西:

def get_all_empty_attributes(self):
    for attr  in self.attributes.names:
        if self.attr==None:
            yield attr
Run Code Online (Sandbox Code Playgroud)

是否可以使用内置函数来完成?

python attributes class object

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

Django OneToOne 字段到 self

如何定义OneToOne相同的关系Model

我有一个名为 的模型Order,可以与另一个模型配对Order。现在我正在尝试找出如何处理这种关系的模型。

我的想法:

class Order(models.Model):
    paired_order = models.OneToOneField(self)
Run Code Online (Sandbox Code Playgroud)

或者:

class Pairing(models.Model):
    order1 = models.ForeignKey(Order, related_name='pairing')
    order2 = models.ForeignKey(Order, related_name='pairing')
Run Code Online (Sandbox Code Playgroud)

你怎么认为?哪个更有效率?

我想要简单地调用配对的。所以我会做类似的事情:

order.paired_order 
Run Code Online (Sandbox Code Playgroud)

或者:

order.pairing.paired
Run Code Online (Sandbox Code Playgroud)

我希望这种关系是对称的,因此对于每对订单,我将其称为相同的事物并获得配对订单。

配对模型将是一个很好的解决方案,因为我可以向这种关系添加额外的信息,但是有一个问题是我必须检测它是哪个顺序,所以我无法调用,order.pairing.order1因为我不知道我是否不是调用相同的命令。

编辑:

>>> from _app import models
>>> order1 = models.Order(flight_number="xxx")
>>> order2 = models.Order(flight_number="yyy", paired_order=order1)
>>> order1.paired_order.flight_number
Run Code Online (Sandbox Code Playgroud)

退货None object has not ....

问题是,当我将 order1 设置为 order2 的配对订单时,我想要相反方向的相同内容。所以order1.paired_order = order2也这样做吧order2.paired_order = order1

python django django-models

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

Django / Nginx-提供超过一定大小的媒体文件时,禁止出现错误403

用户上载图像时,图像存储在media项目目录内的文件夹中。问题在于,当他们希望在网站上看到它时,nginx 403 Forbidden对于大约3 Mb以上的图像返回错误。

我设定nginx.conf client_max_body_size为8M

http {

        ##
        # Basic Settings
        ##
        client_max_body_size 8M;
     ...
Run Code Online (Sandbox Code Playgroud)

并且已经更改了内存大小settings.py

FILE_UPLOAD_MAX_MEMORY_SIZE = 8388608
Run Code Online (Sandbox Code Playgroud)

当我上传3 MB以下的图像时,没有问题,如果我上传3 MB以上的图像,则可以在media文件夹中看到它,但是会出现错误,而不是提供图像:

GET https://example.com/media/images/dom.jpg 403 (Forbidden)
Run Code Online (Sandbox Code Playgroud)

我注意到3 MB以下的文件具有不同的权限:

-rw-r--r-- 1 django www-data    4962 Jul 19 19:51 61682_3995232_IMG_01_0000.jpg.150x84_q85_crop.jpg
-rw-r--r-- 1 django www-data 1358541 Jul 20 09:32 byt.jpg
-rw------- 1 django www-data 3352841 Jul 20 09:32 dom.jpg
-rw-r--r-- 1 django www-data    5478 Jul 19 20:10 downloasd.jpeg.150x84_q85_crop.jpg
-rw-r--r-- 1 django www-data    3225 Jul …
Run Code Online (Sandbox Code Playgroud)

python django nginx django-media

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

机器学习奇数/偶数预测不起作用(50% 成功)

我对机器学习很陌生。我试图创建一个模型来预测数字是否为偶数。

我使用了这个代码https://machinelearningmastery.com/tutorial-first-neural-network-python-keras/ 我根据我的需要改变了它。

问题是大约有 50% 的成功率等于随机。

你知道怎么做才能让它发挥作用吗?

from keras.models import Sequential
from keras.layers import Dense
import numpy
# fix random seed for reproducibility
seed = 7
numpy.random.seed(seed)

X = list(range(1000))
Y = [1,0]*500
# create model
model = Sequential()
model.add(Dense(12, input_dim=1, init='uniform', activation='relu'))
model.add(Dense(8, init='uniform', activation='relu'))
model.add(Dense(1, init='uniform', activation='sigmoid'))
# Compile model
model.compile(loss='mean_squared_error', optimizer='adam', metrics=['accuracy'])
# Fit the model
model.fit(X, Y, epochs=150, batch_size=10,  verbose=2)
# calculate predictions
predictions = model.predict(X)
# round predictions
rounded = [round(x[0])for x in predictions] …
Run Code Online (Sandbox Code Playgroud)

python machine-learning keras tensorflow

6
推荐指数
4
解决办法
2740
查看次数

Python:列表中最长公共子序列的长度

python中是否有内置函数返回两个列表中最长公共子序列的长度?

a=[1,2,6,5,4,8]
b=[2,1,6,5,4,4]

print a.llcs(b)

>>> 3
Run Code Online (Sandbox Code Playgroud)

我试图找到最长的常见子序列,然后得到它的长度,但我认为必须有一个更好的解决方案.

python list longest-substring

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

Selenium - 获取所有孩子的 div,但不是孙子

我正在尝试解析一个html文件。这个html 中有许多嵌套的 div 。我想获得所有 div,但不是孙子等。

这是一个模式:

<div class='main_div'>
    <div class='child_1'>
        <div class='grandchild_1'></div>
    </div>
    <div class='child_2'>
        ...
        ...
</div>
Run Code Online (Sandbox Code Playgroud)

所以我正在寻找的命令将返回 2 个元素 - 类是“child_1”和“child_2”的 div。

是否可以?

我尝试使用,main_div.find_elements_by_tag_name('div')但它返回了 div 中的所有嵌套 div。

html python selenium parsing selenium-webdriver

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

如何更改 Django 表格行的颜色?

是否可以根据当前对象的值更改行的颜色?

就我而言,我有一个table从模型创建的Job。该Job具有的属性deliveryjob.delivery例如,如果是“已交付”,我想将行的颜色更改为红色。

我想到的唯一一件事就是使用,JQuery但我不确定这是否是一种矫枉过正。

class MyOrdersTable(tables.Table):
    edit_entries = tables.TemplateColumn(
            '{% if not record.translator %}<a href="/jobs/update/{{record.id}}">Edit Order</a>{% else %} Can\'t edit order, translator has been assigned. {% endif %}')
    price = tables.Column(default='Not Yet',verbose_name='Price')
    translator = tables.Column(default='Not Yet',verbose_name='Translator')
    progress = tables.TemplateColumn('{{record.delivery.get_status_display}}',verbose_name='Progress')

    class Meta:
        model = Job
        attrs = {'class': 'table table-striped table-bordered table-hover', 'width': '70%'}
        fields = (
            'translator', 'short_description', 'language_from', 'language_to', 'level', 'created', 'modified', 'price',
            'progress','edit_entries')
        empty_text = """You haven't …
Run Code Online (Sandbox Code Playgroud)

django html-table django-models django-tables2

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