社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
私信  •  关注

Ralf

Ralf 最近创建的主题
Ralf 最近回复了
6 年前
回复了 Ralf 创建的主题 » Csv排序和删除python

首先你必须定义平等的条件。例如,只有满足这两个条件时,以下代码才会将行视为相等:

  • 两个参与地址(ip和post一起)都是相同的;我使用 frozenset
  • 信息是一样的。

冰冻 (一个内置的不可修改的集合)为每一行构建密钥,以在 seen

with open('alerts.csv','r') as in_file, open('alertsfix.csv','w') as out_file:
    seen = set()
    for line in in_file:
        line = line.strip()
        if len(line) > 0:
            src_ip, src_port, dst_ip, dst_port, msg = line.split(',')
            src = '{}:{}'.format(src_ip, src_port)
            dst = '{}:{}'.format(dst_ip, dst_port)
            key = frozenset([
                frozenset([src, dst]),
                msg,
            ])

            if key not in seen:
                seen.add(key)         # we add 'key' to the set
                out_file.write(line)  # we write 'line' to the new file

这有助于你完成任务吗?

6 年前
回复了 Ralf 创建的主题 » 用变量和数据库数据填充Django模板?

也许有可能有一个称为 Concept (这可以是术语、短语、标题或类似的东西)使用类似的相关模型 ConceptDetail (可以是一系列术语或短语等)。

然后,您有一个URL配置,但是不同的概念有不同的pk,这些pk出现在URL中以区分它们(您还可以将URL中的slug用作kwargs以使URL更具可读性)。例如:

path('concept/', ConceptListView.as_view()),
path('concept/<slug:concept_name>/', ConceptDetailView.as_view()),

对于视图和模板,您有一个 ListView 它向您展示了所有概念(在这里您可以添加筛选和其他搜索选项),然后在 DetailView

这听起来像是能帮到你的吗?

6 年前
回复了 Ralf 创建的主题 » 使用python生成1d数组表单txt文件

如果我理解正确,您需要将整个文件中的所有元素放在一个数组中。

with open(filename) as f:
    numbers = [
        e
        for line in f
        for e in line.strip().split(',')]

int_arr = np.asarray(numbers, dtype=int)

之后我们有:

>>> print(int_arr)
array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])
6 年前
回复了 Ralf 创建的主题 » Django查询链接多个筛选器

tz.now() 而不是 date.today() USE_TZ = True (默认值)。 见 django docs .

import datetime
from django.utils import timezone as tz

today = tz.localtime(tz.now()).date()
start_date = today - datetime.timedelta(days=30)
end_date = today

schedules = Schedule.objects.exclude(tournament__bias=0.0) \
    .filter(sport=sport, date__gte=start_date, date__lte=end_date) \
    .order_by("date")

我不认为自由党 https://github.com/mitsuhiko/python-geoip 将工作在 Python 3.x .

我查看了github中的源代码;5年没有更新,它仍然使用 Python 2.x 构造(如 xrange() 在里面 this line geoip.py#L255 )那是行不通的 Python 3 x (也许你很幸运,你的代码没有用旧结构调用代码的各个部分,但我不会屏住呼吸)。

看来你必须复制回购协议并使之适应 3.x 你自己或寻找其他选择。

6 年前
回复了 Ralf 创建的主题 » 每次编写复杂的程序时,有必要在python中使用类吗

创建自己的类是可选的,您可以使用just函数编写整个应用程序,而不必自己定义任何类。

但是,随着应用程序越来越大,类通常在封装逻辑和提高代码可读性方面具有优势。但不,它们不是强制性的。

6 年前
回复了 Ralf 创建的主题 » python中的简单monte carlo模拟

通过使用 set 而不是一个列表,还可以更改迭代逻辑:

import random

def roll_till_all_sides_appeared():
    sides_seen = set()
    n = 0

    while len(sides_seen) < 6:
        side = random.randint(1, 6)
        sides_seen.add(side)         # will only be added if it isn't present
        n += 1

    return n

def test(repetitions):
    max_n = float('-inf')
    min_n = float('inf')
    sum_n = 0

    for _ in range(repetitions):
        n = roll_till_all_sides_appeared()
        max_n = max(max_n, n)
        min_n = min(min_n, n)
        sum_n += n

    print('max:', max_n)
    print('min:', min_n)
    print('avg:', sum_n / repetitions)

此代码可以如下使用:

>>> test(10)
max: 32
min: 8
avg: 14.3
>>> test(100)
max: 45
min: 6
avg: 14.13
>>> test(1000)
max: 56
min: 6
avg: 14.749
>>> test(10000)
max: 62
min: 6
avg: 14.6422
6 年前
回复了 Ralf 创建的主题 » 修改变量时出现bash脚本错误的git别名

一个不同的解决方案。这不使用别名,而是使用脚本。

在路径中创建一个名为 git-auto-message (没有分机!)内容如下:

#!/bin/bash

#current_branch="feature/ACD-1706_new-api-call"
current_branch="$(git rev-parse --abbrev-ref HEAD)"
no_feature=${current_branch##*/}
no_underscore=${no_feature%%_*}

read -p "Complete commit message (empty cancels) \"$no_underscore | " msg
echo
# remove leading whitespaces
msg="${msg#"${msg%%[![:space:]]*}"}"
# remove trailing whitespaces
msg="${msg%"${msg##*[![:space:]]}"}"
if [ -n "$msg" ]; then
    git commit -m "$no_underscore | $msg"
fi

使脚本可执行。

然后你可以打电话 git auto-message . git意识到,它没有一个名为 auto-message 而且这个名字没有别名。所以它在路径中搜索一个名为 Git自动消息 . 所以脚本被执行。

虽然别名对于较小的事情很好,但是这个特性允许创建相当复杂的功能。


更新的脚本,正如我所错过的,你想添加额外的文本。

6 年前
回复了 Ralf 创建的主题 » 如何在python中读取csv文件?

我建议您遵循python文档中的示例 csv module :

import csv
with open('CityPop.csv') as f:
    csv_reader = csv.reader(f, delimiter=', ')
    for row in csv_reader:
        print ', '.join(row)

分析代码时,有几个问题:

  1. 你不需要打电话 f.close() 如果你使用 with 语句,退出时将自动关闭文件。 具有
  2. 你的打印报表应该放在 具有 块,作为变量 read_data 是在里面定义的
  3. 你需要迭代 读取数据 ( for line in read_data: ),因为你已经用过 f.read() 所以迭代 f 不会屈服的
  4. 你正在覆盖 record 每次,我都不知道你为什么要这样
6 年前
回复了 Ralf 创建的主题 » 外部数据库连接上的Django操作错误

我有点生疏了 mysql 连接,但如中所述 this answer :

默认禁用的是远程 root 访问。如果要启用它,请运行此SQL[…]

也许你可以先检查一下,排除这种错误配置。 或者尝试其他用户 .