小编Ste*_*uch的帖子

什么是计算机科学的批量?

我正在读Akka的调度员,我了解到它用于批量处理.什么是计算机科学的批量?

computer-science dispatcher akka

10
推荐指数
2
解决办法
2174
查看次数

Acts-as-readable Rails插件问题

我正在使用Intridea的Acts作为Readable Rails插件,用于我正在构建的消息传递系统.我已相应地定义了我的消息类:

class Post < ActiveRecord::Base
  acts-as-readable
end
Run Code Online (Sandbox Code Playgroud)

一切似乎都按计划运行,但是当我试图让应用程序在我的消息视图中显示未读消息时,我遇到了问题.

他们的例子:(由于格式问题,我将下划线更改为连字符)

bob = User.find_by_name("bob")

bob.readings                      # => []

Post.find_unread_by(bob)          # => [<Post 1>,<Post 2>,<Post 3>...]
Post.find_read_by(bob)            # => []

Post.find(1).read_by?(bob)        # => false
Post.find(1).read_by!(bob)        # => <Reading 1>
Post.find(1).read_by?(bob)        # => true
Post.find(1).users_who_read       # => [<User bob>]

Post.find_unread_by(bob)          # => [<Post 2>,<Post 3>...]
Post.find_read_by(bob)            # => [<Post 1>]

bob.readings                      # => [<Reading 1>]
Run Code Online (Sandbox Code Playgroud)

所以,如果我想列出邮箱中的未读邮件数量(例如收件箱(39)),我应该能够做到这样的事情:

<%= Post.find_unread_by(current-user).count %>
Run Code Online (Sandbox Code Playgroud)

但无济于事.在设置好所有内容之后,我似乎总是陷入简单的视图问题.有任何想法吗?

ruby plugins ruby-on-rails

9
推荐指数
1
解决办法
562
查看次数

python增量ipaddress

我想用固定值增加一个ip地址.

确切地说,这正是我想要实现的,我有一个ip地址说,192.168.0.3我想增加它1会导致192.168.0.4甚至固定值,x以便它将增加我的IP地址的数字.所以,我可以像主持人一样192.168.0.3+x.

我只是想知道这个转换是否已存在任何模块.

我试过socket.inet_aton,然后socket.inet_ntoa,但我不知道如何正常工作.需要一些帮助或建议.

python networking

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

Pylint的R0902是什么意思?为什么我们有这个限制?

R0902 限制的背后是什么?太多的实例属性会减慢Python解释器的速度,还是仅仅因为太多的实例属性会使类更难以理解?

python pylint

9
推荐指数
1
解决办法
8840
查看次数

如何根据列值的长度从pandas数据帧中删除一行?

在以下内容中pandas.DataFframe:

df = 
    alfa    beta   ceta
    a,b,c   c,d,e  g,e,h
    a,b     d,e,f  g,h,k
    j,k     c,k,l  f,k,n
Run Code Online (Sandbox Code Playgroud)

如何删除alfa的列值超过2个元素的行?这可以使用长度函数来完成,我知道但没有找到具体的答案.

df = df[['alfa'].str.split(',').map(len) < 3]
Run Code Online (Sandbox Code Playgroud)

python string-length dataframe pandas

9
推荐指数
2
解决办法
6859
查看次数

如何调试python单击cli应用程序?

我使用python中的click库构建了一个cli应用程序.没有关于如何调试命令的文档.

没有单击,它很容易在IDE中调试python文件,但是当我们使用click时,命令需要通过setup.py中的console_scripts设置运行.

python python-3.x python-click

9
推荐指数
2
解决办法
2872
查看次数

Python DataFrame或用于存储对象的列表

我可以像在列表中那样"存储"pandas/numpy Series-DataFrame/ndarray中的类实例吗?或者这些库支持内置类型(数字,字符串).

例如,我有Pointx,y坐标,我想存储PointsPlane,这将返回Point与给定的坐标.

#my class
class MyPoint:

    def __init__(self, x,y):
        self.x = x
        self.y = y

    @property
    def x(self):
        return self.x

    @property
    def y(self):
        return self.y
Run Code Online (Sandbox Code Playgroud)

在这里我创建实例:

first_point = MyClass(1,1)
second_point = MyClass(2,2)
Run Code Online (Sandbox Code Playgroud)

我可以将实例存储在某个列表中

my_list = []
my_list.append(first_point)
my_list.append(second_point)
Run Code Online (Sandbox Code Playgroud)

列表中的问题是它的索引与x,y属性不对应.

字典/ DataFrame方法:

Plane = {"x" : [first_point.x, second_point.x], "y" : [first_point.y, second_point.y], "some_reference/id_to_point_instance" = ???}
Plane_pd = pd.DataFrame(Plane)
Run Code Online (Sandbox Code Playgroud)

我读过帖子,使用实例的"id"作为DataFrame中的第三列值可能会导致垃圾收集器出现问题.

python numpy pandas

9
推荐指数
1
解决办法
5895
查看次数

如何使用Python更新.yml文件,忽略已有的Jinja语法?

我有一些预处理与一些现有的.yml文件 - 但是,其中一些嵌入了Jinja模板语法:

A:
 B:
 - ip: 1.2.3.4
 - myArray:
   - {{ jinja.variable }}
   - val1
   - val2
Run Code Online (Sandbox Code Playgroud)

我想在这个文件中读取,并添加val3myArray这样:

A:
 B:
 - ip: 1.2.3.4
 - myArray:
   - {{ jinja.variable }}
   - val1
   - val2
   - val 3
Run Code Online (Sandbox Code Playgroud)

我试着手动写出jinja模板,但是他们用单引号写了: '{{ jinja.variable }}'

对于我来说,阅读这些.yml文件并修改它们的推荐方法是什么,尽管有预先存在的Jinja语法?我想向这些文件添加信息,保持其他所有相同.

我在Python 2.7+上使用PyYAML尝试了上述内容

python yaml jinja2 python-2.7

9
推荐指数
2
解决办法
1170
查看次数

如何在python中获取最大堆

我在python中使用heapq模块,我发现我只能使用min heap,即使我使用reverse = True

我仍然得到最小的顶级堆

from heapq import *

h=[]
merge(h,key=lambda e:e[0],reverse=True)
heappush(h, (200, 1))
heappush(h, (300,2))
heappush(h, (400,3))
print(heappop(h))
Run Code Online (Sandbox Code Playgroud)

我仍然得到结果:

(200, 1)
Run Code Online (Sandbox Code Playgroud)

我想得到结果:

(400,3)
Run Code Online (Sandbox Code Playgroud)

怎么做?

这是最小的元素.我想要流行最大的emelment?

ps:这是问题的一部分找到max然后分成几个元素然后把它放回堆中.

python heap max-heap

9
推荐指数
2
解决办法
6151
查看次数

Poetry 管理 python 包 CLI

我正在使用具有以下结构的 Poetry 开发 Python 包:

/packagename
 /packagename
  /tests
   __init__.py
   test_packagename.py
  __init__.py
  packagename.py
pyproject.toml
Run Code Online (Sandbox Code Playgroud)

所有的包代码都在 packagename.py 中,它以__init__.py.

我想添加一个 CLI,我的目标是在命令行中执行以下操作:

<packagename> <packagefunction>
Run Code Online (Sandbox Code Playgroud)

为此,我使用了 Python 的 click 包并将我的<packagefunction>内部写packagename.py为:

 @click.command()
 def packagefunction():
Run Code Online (Sandbox Code Playgroud)

目前,我已将入口点添加到诗歌配置文件中:

[tool.poetry.scripts]
<packagefunction> = '<packagename>:<packagefunction>'
Run Code Online (Sandbox Code Playgroud)

并运行:

poetry run <packagefunction>
Run Code Online (Sandbox Code Playgroud)

完美执行。

但是,我知道这不是正确的方法,我希望 CLI 使用上面显示的命令执行。

python command-line-interface python-click python-poetry

9
推荐指数
1
解决办法
2482
查看次数