在编写一些XML解析代码时,我收到了警告:
FutureWarning: The behavior of this method will change in future versions. Use specific 'len(elem)' or 'elem is not None' test instead.
Run Code Online (Sandbox Code Playgroud)
我曾经在那里if <elem>:检查是否找到了给定元素的值.
有人可以详细说明if <obj>:vs 之间的区别if <obj> is not None:以及Python使用的原因吗?
我几乎总是使用前者因为它更短而不是双重否定,但经常在其他人的源代码中看到后者.
是否可以有选择地从Google Chrome浏览历史记录中删除项目?我的历史记录中有一个网站,每次我开始使用特定字母进行搜索时都希望成为默认网站,但我经常会参考我的历史来重新查找内容.
所以我想从www.pythonismyfavoritest.com中删除所有历史记录而不删除所有内容; 那可能吗?
当我更改底层函数时,在函数上构建的索引会发生什么?
说,我有一个函数clean_name()定义为:
CREATE OR REPLACE FUNCTION clean_name(n text)
RETURNS TEXT AS
$BODY$
DECLARE
rec TEXT;
BEGIN
EXECUTE
'SELECT Regexp_replace(' || quote_literal(n) || ', ''[a-z]'', '''', ''g'');'
INTO rec;
RETURN rec;
END;
$BODY$ LANGUAGE plpgsql IMMUTABLE
;
Run Code Online (Sandbox Code Playgroud)
然后创建一个索引:
CREATE INDEX my_table_upper_name_btree
ON schema.my_table USING GIST (my_text_field);
Run Code Online (Sandbox Code Playgroud)
但后来我决定重新定义函数来删除大写字母.我创建的索引会发生什么?它会自行改变吗?难道我DROP和CREATE一次?VACUUM [ANALYZE] [FULL]?
(有问题的功能是相似的,而是使用相当冗长的一系列替换,这些替换仍在调整但预计会保持稳定.)
我正在寻找一种方法来以编程方式确定cur.rowcount描述可获取的行数与受影响的行数之间的差异。
例如:
>>> cur.execute('CREATE TABLE test (gid serial, val numeric);')
>>> cur.execute('INSERT INTO test (val) values (1), (2), (3);')
>>> cur.execute('SELECT * FROM test;'); cur.rowcount
3
>>> cur.execute('UPDATE test SET val = 1;'); cur.rowcount
3
>>> cur.fetchall()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
psycopg2.ProgrammingError: no results to fetch
>>> cur.execute('DELETE FROM test;'); cur.rowcount
3
>>> cur.execute('DROP TABLE test;')
>>> cur.rowcount
-1
Run Code Online (Sandbox Code Playgroud)
使用 Python 2.7 和 psycopg2 2.6.2。
如何在Psycopg2中使用字符串替换来处理NULL和非NULL值?
例如:
sql = 'SELECT * FROM table WHERE col = %s;'
possible_params = [1, None]
for x in possible_params:
print cur.mogrify(sql,(x,))
Run Code Online (Sandbox Code Playgroud)
我需要第一个查询看起来像SELECT * FROM table WHERE col = 1;第二个是功能相当于SELECT * FROM table WHERE col IS NULL;
有诀窍吗?我有很多列可能是NULL或有一个值,因此动态构建SQL是相当麻烦的.
postgresql ×3
python ×3
psycopg2 ×2
function ×1
indexing ×1
plpgsql ×1
python-2.7 ×1
xml-parsing ×1