小编san*_*ash的帖子

提高SQLite的每秒INSERT性能?

优化SQLite很棘手.C应用程序的批量插入性能可以从每秒85次插入到每秒超过96,000次插入!

背景:我们使用SQLite作为桌面应用程序的一部分.我们有大量的配置数据存储在XML文件中,这些数据被解析并加载到SQLite数据库中,以便在初始化应用程序时进行进一步处理.SQLite非常适合这种情况,因为它速度快,不需要专门配置,数据库作为单个文件存储在磁盘上.

理由: 最初我对我所看到的表现感到失望.事实证明,SQLite的性能可能会有很大差异(对于批量插入和选择),具体取决于数据库的配置方式以及如何使用API​​.弄清楚所有选项和技术是什么并不是一件小事,所以我认为创建这个社区wiki条目以与Stack Overflow读者分享结果是谨慎的,以便为其他人节省相同调查的麻烦.

实验:我不是简单地谈论一般意义上的性能提示(即"使用事务!"),而是认为最好编写一些C代码并实际测量各种选项的影响.我们将从一些简单的数据开始:

  • 多伦多市完整交通时间表的28 MB TAB分隔文本文件(约865,000条记录)
  • 我的测试机器是运行Windows XP的3.60 GHz P4.
  • 该代码使用Visual C++ 2005 编译为"Release",带有"Full Optimization"(/ Ox)和Favor Fast Code(/ Ot).
  • 我正在使用SQLite"Amalgamation",直接编译到我的测试应用程序中.我碰巧遇到的SQLite版本有点旧(3.6.7),但我怀疑这些结果与最新版本相当(如果你不这么想请发表评论).

我们来写一些代码吧!

代码:一个简单的C程序,它逐行读取文本文件,将字符串拆分为值,然后将数据插入SQLite数据库.在代码的这个"基线"版本中,创建了数据库,但我们实际上不会插入数据:

/*************************************************************
    Baseline code to experiment with SQLite performance.

    Input data is a 28 MB TAB-delimited text file of the
    complete Toronto Transit System schedule/route info
    from http://www.toronto.ca/open/datasets/ttc-routes/

**************************************************************/
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <string.h>
#include "sqlite3.h"

#define INPUTDATA "C:\\TTC_schedule_scheduleitem_10-27-2009.txt"
#define DATABASE "c:\\TTC_schedule_scheduleitem_10-27-2009.sqlite"
#define …
Run Code Online (Sandbox Code Playgroud)

c sqlite optimization performance

2880
推荐指数
9
解决办法
38万
查看次数

django模型表单对象的自动创建日期?

自动设置对象的创建日期的最佳方法是什么,以及将在上次更新对象时记录的字段?

在我的模型中,我有:

created_at = models.DateTimeField(False, True, editable=False)
updated_at = models.DateTimeField(True, True, editable=False)
Run Code Online (Sandbox Code Playgroud)

在我看来:

if request.method == 'POST':
    form = MyForm(request.POST)
    if form.is_valid():
        obj = form.save(commit=False)
        obj.user = request.user
        obj.save()
        return HttpResponseRedirect('obj_list')
Run Code Online (Sandbox Code Playgroud)

我收到错误:

objects_object.created_at may not be NULL
Run Code Online (Sandbox Code Playgroud)

我是否必须自己手动设置此值?我认为这是传递给DateTimeFields的参数点(或者它们只是默认值,因为我设置'editable = False'它们不会显示在表单上,​​因此不会在请求中提交,因此不要进入表格?).

这样做的最佳方法是什么?一个init方法?

谢谢

ps - 我是django和Python的新手......

python django django-models

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

pandas:多列的to_numeric

我正在使用以下df:

c.sort_values('2005', ascending=False).head(3)
      GeoName ComponentName     IndustryId IndustryClassification Description                                2004 2005  2006  2007  2008  2009 2010 2011 2012 2013 2014
37926 Alabama Real GDP by state 9          213                    Support activities for mining              99   98    117   117   115   87   96   95   103  102  (NA)
37951 Alabama Real GDP by state 34         42                     Wholesale trade                            9898 10613 10952 11034 11075 9722 9765 9703 9600 9884 10199
37932 Alabama Real GDP by state 15         327                    Nonmetallic mineral products manufacturing 980  968   940 …
Run Code Online (Sandbox Code Playgroud)

python pandas

38
推荐指数
4
解决办法
5万
查看次数

带有 kwargs 的函数的 python 类型签名(typing.Callable)

我大量使用 python 3 中的 python 类型支持。

最近我试图将一个函数作为参数传递,但kwargstyping.Callable签名中找不到任何帮助。

请检查下面的代码和评论。

import typing

# some function with singnature typing
def fn1_as_arg_with_kwargs(a: int, b: float) -> float:
    return a + b

# some function with singnature typing
def fn2_as_arg_with_kwargs(a: int, b: float) -> float:
    return a * b

# function that get callables as arg
# this works with typing
def function_executor(
        a: int, 
        b: float, 
        fn: typing.Callable[[int, float], float]):
    return fn(a, b)

# But what if I want to …
Run Code Online (Sandbox Code Playgroud)

python python-3.x python-typing

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

使用Selenium Python和chromedriver截取整页的屏幕截图

尝试了各种方法之后......我偶然发现这个页面采用了chromedriver,selenium和python的全页截图.

原始代码在这里:http://seleniumpythonqa.blogspot.com/2015/08/generate-full-page-screenshot-in-chrome.html(我在下面的帖子中复制代码)

它使用PIL,效果很棒!!!!! 然而,有一个问题......它捕获整个页面的固定标题和重复,并且在页面更改期间也错过了页面的某些部分.示例网址截取屏幕截图:

http://www.w3schools.com/js/default.asp

如何避免使用此代码重复标头...或者是否有更好的选项只使用python ... (我不知道java,不想使用java).

请参阅下面的当前结果和示例代码的屏幕截图.

带有重复标题的整页截图

test.py

"""
This script uses a simplified version of the one here:
https://snipt.net/restrada/python-selenium-workaround-for-full-page-screenshot-using-chromedriver-2x/

It contains the *crucial* correction added in the comments by Jason Coutu.
"""

import sys

from selenium import webdriver
import unittest

import util

class Test(unittest.TestCase):
    """ Demonstration: Get Chrome to generate fullscreen screenshot """

    def setUp(self):
        self.driver = webdriver.Chrome()

    def tearDown(self):
        self.driver.quit()

    def test_fullpage_screenshot(self):
        ''' Generate document-height screenshot '''
        #url = "http://effbot.org/imagingbook/introduction.htm"
        url = …
Run Code Online (Sandbox Code Playgroud)

python selenium webpage-screenshot selenium-chromedriver

27
推荐指数
13
解决办法
4万
查看次数

Django中的request.user

关于request.user在Django中引用了什么,我感到很困惑?它是指auth_user表中的用户名字段还是引用用户模型实例?

我有这个疑问,因为我没能利用来访问模板电子邮件字段{{request.user.username}}或{{user.username}}

所以我在视图文件中做了以下操作

userr = User.objects.get(username=request.user)
Run Code Online (Sandbox Code Playgroud)

并将'userr'传递给模板并访问电子邮件字段为 {{request.user.username}}

虽然它的工作,但我想对它有一些清晰.

谢谢 :)

python email django django-templates django-views

22
推荐指数
2
解决办法
5万
查看次数

排序2D列表python

我有以下类型的列表

lst = [
    [1, 0.23],
    [2, 0.39],
    [4, 0.31],
    [5, 0.27],
]
Run Code Online (Sandbox Code Playgroud)

我想按第二列的降序对此进行排序.我在python中试过'sorted'函数.但是给我一个'TypeError':'float'对象是unsubscriptable.请帮我解决这个问题.

python sorting list

18
推荐指数
2
解决办法
5万
查看次数

PyCharm 将所有 txt 文件视为需求文件

我的项目中有requirements.txt 文件,PyCharm 可以完美地使用它。但是,它还会检查所有其他 txt 文件并显示误导性的错误消息。例如,拥有带有字符串的 foo.txt 文件

bar baz
Run Code Online (Sandbox Code Playgroud)

写入其中会产生以下消息:

<versionspec>, RequirementsTokenType.COMMENT, RequirementsTokenType.EOL, RequirementsTokenType.LSBRACE, RequirementsTokenType.SEMICOLON or RequirementsTokenType.WHITE_SPACE expected, got 'baz'
Run Code Online (Sandbox Code Playgroud)

我绝对不希望 PyCharm 将所有 txt 文件视为需求文件,我该如何改变这种奇怪的行为?

PyCharm 2020.2.1 CE

python pycharm requirements.txt

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

为什么会引发 asyncio.TimeoutError ?

我正在对 aiohttp.ClientSession 实例执行 request() ,有时会引发 asyncio.TimeoutError 。我认为在这种情况下必须引发 aiohttp.ServerTimeoutError ,它源自 asyncio.TimeoutError ,正如该文档所述:http: //docs.aiohttp.org/en/stable/client_reference.html#aiohttp.ServerTimeoutError 为什么会发生?也许是因为我使用的是旧版本的aiohttp?2.3.8

UPD 这可能会发生在像这样的非常简单的代码中

async def example_of_code():
    session = aiohttp.ClientSession()
    response = await session.request(
        method='POST',
        url='some_url',
        params={'some': 'params'},
        data={'some': 'data'},
        headers={'some': 'headers'},
        timeout=10
    )
    return await response.json()
Run Code Online (Sandbox Code Playgroud)

python python-3.x python-asyncio aiohttp

10
推荐指数
1
解决办法
7601
查看次数

(VS2017)运行所选代码生成器时出错:'Sequence不包含任何元素'

大家好!

我正在浏览一篇关于MVC开发的微软教程,并且在尝试创建各种元素时遇到错误; 视图,控制器等

我得到的错误如下:

There was an error running the selected code generator: 
'Sequence contains no elements'
Run Code Online (Sandbox Code Playgroud)

每次我尝试创建一个新元素时它都是一致的.早些时候,我通过复制视图并重新利用它来绕过错误.但从长远来看,这不是最佳选择!

我现在坐在工作中做本教程,问题就出现了.但是,当我昨天在家里开始本教程时(因此,在不同的网络上)我没有问题.可能有话要说吗?

这是GitHub上项目的链接.

您认为这是我的网络,我的项目本身或完全不同的问题吗?伙计们,我迷失了这个!

谢谢大家!

c# asp.net-mvc visual-studio visual-studio-2017

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