小编Eli*_*ria的帖子

为什么Python MySQLdb中的executemany速度慢?

我正在开发一个使用MySQLdb访问MySQL数据库的Python程序.在某些情况下,我必须在许多行上运行INSERT或REPLACE命令.我目前正在这样做:

db.execute("REPLACE INTO " + table + " (" + ",".join(cols) + ") VALUES" +
    ",".join(["(" + ",".join(["%s"] * len(cols)) + ")"] * len(data)),
    [row[col] for row in data for col in cols])
Run Code Online (Sandbox Code Playgroud)

它工作正常,但有点尴尬.我想知道我是否可以让它更容易阅读,我发现了executemany命令.我将代码更改为如下所示:

db.executemany("REPLACE INTO " + table + " (" + ",".join(cols) + ") " + 
    "VALUES(" + ",".join(["%s"] * len(cols)) + ")",
    [tuple(row[col] for col in cols) for row in data])
Run Code Online (Sandbox Code Playgroud)

它仍然有效,但运行速度慢了很多.在我的测试中,对于相对较小的数据集(大约100-200行),它运行速度慢了约6倍.对于大数据集(大约13,000行,我期望处理的最大行),它运行速度慢了约50倍.它为什么这样做?

我真的想简化我的代码,但我不希望性能大幅下降.有谁知道如何让它更快?

我使用的是Python 2.7和MySQLdb 1.2.3.我尝试修改setinputsizes函数,但似乎没有做任何事情.我查看了MySQLdb源代码,看起来它不应该做任何事情.

python mysql sql performance

13
推荐指数
1
解决办法
9603
查看次数

从命令行打开Sublime项目而不打开空白窗口

我试图弄清楚如何从命令行打开Sublime Text项目.

如果我键入subl foo.project的项目未打开,则会打开项目.但是,如果我为已经打开的项目执行此操作,则会出于某种原因打开一个空白窗口.我不知道这是一个错误还是预期的行为.

是否有可能提出一个带有项目文件名的命令或shell脚本,如果它没有打开则打开它,但是如果它是打开的则将它关注?如果是这样,我该怎么做?

我使用的是Sublime Text 2.0.1和OS X 10.8.4.我已经subl符号链接到/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl.

在UserEcho上找到了这篇文章,在论坛上发帖,但没有任何有意义的回复.除此之外,我还没有找到关于这个bug的任何其他内容.

编辑:我更新到Sublime Text 3测试版,我仍然遇到这个错误.我还没有找到修复或解决方法.

bash sublimetext sublimetext2 sublimetext3

12
推荐指数
3
解决办法
5687
查看次数

有没有办法在CSS中选择一个打开的选择框?

在将webkit-appearance属性设置为none后,我将背景图像(向下箭头)设置为选择框.打开选项列表时,我想显示另一个背景图像(向上箭头).是否有伪类或其他东西?我在研究过程中找不到任何东西......

html css select html-select selector

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

如何在 VSCode 中选择整行

我在 Mac 上使用 VSCode。

有谁知道如何选择光标所在的整行?我知道Command+ I,但这只会选择似乎是整行的内容,如果启用自动换行,则不一定是整行。

我正在寻找类似于 Sublime Text 的“将选择扩展到行”命令。

visual-studio-code

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

Python argparse:命令行参数,可以是命名的也可以是位置的

我正在尝试制作一个使用该argparse模块解析命令行选项的Python程序.

我想创建一个可以命名或位置的可选参数.例如,我想做myScript --username=batman同样的事情myScript batman.我也希望myScript没有用户名有效.这可能吗?如果是这样,怎么办呢?

我尝试了类似下面的代码的各种事情,没有任何成功.

parser = argparse.ArgumentParser()
group = parser.add_mutually_exclusive_group()
group.add_argument("-u", "--user-name", default="admin")
group.add_argument("user-name", default="admin")
args = parser.parse_args()
Run Code Online (Sandbox Code Playgroud)

编辑:上面的代码抛出异常说ValueError: mutually exclusive arguments must be optional.

我在OS X 10.8.4上使用Python 2.7.2.

编辑:我尝试了Gabriel Jacobsohn的建议,但我无法在所有情况下都能正常工作.

我试过这个:

parser = argparse.ArgumentParser()
group = parser.add_mutually_exclusive_group()
group.add_argument("-u", "--user-name", default="admin", nargs="?")
group.add_argument("user_name", default="admin", nargs="?")
args = parser.parse_args()
print(args)
Run Code Online (Sandbox Code Playgroud)

并运行myScript batman将打印Namespace(user_name='batman'),但myScript -u batmanmyScript --user-name=batman将打印Namespace(user_name='admin').

我试图改变名称user-name,以 …

python python-2.x command-line-arguments python-2.7 argparse

11
推荐指数
3
解决办法
2052
查看次数

使用jQuery插件及其依赖项的指南

jQuery插件通常依赖于外部文件:jQuery库,样式表(CSS),图像,其他插件等.使用(和编写)jQuery插件的指导原则是什么,这些插件可以解决依赖项的位置问题?换句话说,所需文件应该放在哪里:在主应用程序文件夹(Img,Css,JS或您使用的任何文件夹)下,在插件文件夹下(例如插件/ MyPlugin/Img,插件/ MyPlugin/Css等),或者是其他东西?

在将几个插件包含到项目中之后,我担心其他项目成员将很难确定需要哪些依赖项以及哪些文件应该放在哪里.

哪些有效,哪些不适合你?

directory jquery plugins dependency-management

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

为什么拥有多个具有相同id属性的HTML元素是一件坏事?

为什么在同一页面上拥有多个具有相同id属性的HTML元素是不好的做法?我正在寻找一种方法来向不熟悉HTML的人解释这一点.

我知道HTML规范要求id是唯一的,但这听起来并不是一个令人信服的理由.我为什么要关心某人在某些文件中所写的内容?

我能想到的主要原因是具有相同id的多个元素可能会导致Javascript函数(如document.getElementById)出现奇怪和未定义的行为.我也知道它会导致URL中的片段标识符出现意外行为.任何人都可以想到任何其他对HTML新手有意义的理由吗?

html

10
推荐指数
3
解决办法
8072
查看次数

在jQuery Mobile中响应地显示或隐藏按钮文本

我有一个带有一些按钮的jQuery Mobile网站.如果视口为640像素或更宽,我想在按钮右侧显示一些文本,否则隐藏文本.

我知道用于此目的的iconpos选项/数据属性,并且可以将其设置为left在我需要时以及notext在不需要时显示文本.我可能会想出一些Javascript来更改属性并刷新页面加载,方向更改和窗口大小调整事件上的按钮,但这可能会变得很麻烦,我不确定是否忘记了一些可能导致视口的事件宽度要改变.

编辑2:我在几个浏览器和设备上测试了我的网站,似乎改变方向,调整窗口大小,显示和隐藏屏幕键盘(在可能的情况下)总是导致resize事件被触发的window对象.当然,我不确定这将永远发生在所有浏览器中.

我想过使用某种媒体查询来设置display文本上的CSS属性,inline或者none取决于视口宽度,但在我查看jQuery Mobile的代码之后,看起来该iconpos选项不仅影响文本的可见性:它会影响尺寸,标题属性,图标位置和其他一些内容,因此仅使用CSS可能无法实现.

编辑:我忘了提到按钮在标题中,所以它是内联按钮之一.简单地通过CSS隐藏文本将使它看起来很有趣.

有没有人知道一种简单实用的方法来显示或隐藏基于视口宽度的文本?或者作为一个更普遍的问题,这里的任何人都知道如何根据视口宽度更改数据属性,并使jQuery Mobile在视口宽度发生变化时确认更改吗?我发现了一个关于更改数据属性的类似问题,但它没有任何合理的答案.

javascript jquery html5 css3 jquery-mobile

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

使用 urllib.request 验证 HTTPS 证书

我正在尝试使用urlopenPython 3urllib.request模块中的方法打开一个 https URL 。它似乎工作正常,但文档警告“[i]如果既未指定也cafilecapath指定,HTTPS 请求将不会对服务器的证书进行任何验证”。

如果我不希望我的程序容易受到中间人攻击、吊销证书问题和其他漏洞,我猜我需要指定这些参数之一。

cafile并且capath应该指向证书列表。我应该从哪里得到这个列表?是否有任何简单和跨平台的方法来使用我的操作系统或浏览器使用的相同证书列表?

python ssl https urllib python-3.x

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

CSS:根据后备字体设置字体粗细

我试图根据所选字体设置元素的font-weight.例如,我可能会尝试这样做:

h1 {
    font-family: Arial Narrow, Impact, sans-serif;
    font-weight: ?;
}
Run Code Online (Sandbox Code Playgroud)

假设用户在系统上安装了Arial Narrow,我希望font-weight为"粗体",如果浏览器必须使用Impact,则为"normal",如果用户的系统没有这些字体,则可能为"粗体" .这可能吗?如果是这样,我该怎么做呢?

css fonts

8
推荐指数
1
解决办法
1692
查看次数