小编Jas*_*oon的帖子

Python字典:键()和值()总是相同的顺序?

它看起来像返回的列表keys()values()字典的方法总是一对一的映射(假设字典在调用2方法之间没有改变).

例如:

>>> d = {'one':1, 'two': 2, 'three': 3}
>>> k, v = d.keys(), d.values()
>>> for i in range(len(k)):
    print d[k[i]] == v[i]

True
True
True
Run Code Online (Sandbox Code Playgroud)

如果你不改变调用keys()和调用之间的字典values(),假设上面的for循环总是打印True是错误的吗?我找不到任何证明这一点的文件.

python

285
推荐指数
6
解决办法
9万
查看次数

Python中的dir(...)和vars(...).keys()之间的区别?

Python dir(…)vars(…).keys()Python 之间有区别吗?

(我希望有区别,因为否则这会破坏"一种方法去做"原则...... :)

python

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

`final`关键字相当于Python中的变量?

我找不到finalPython中相当于Java的文档,有这样的东西吗?

我正在创建一个对象的快照(如果有任何失败则用于恢复); 一旦分配了这个备份变量,它就不应该被修改 - Python中的类似最终功能对此非常有用.

python java final keyword

52
推荐指数
8
解决办法
5万
查看次数

从另一个列表中搜索任何子字符串的字符串列表

鉴于这3个数据列表和关键字列表:

good_data1 = ['hello, world', 'hey, world']
good_data2 = ['hey, man', 'whats up']
bad_data = ['hi, earth', 'sup, planet']
keywords = ['world', 'he']
Run Code Online (Sandbox Code Playgroud)

我正在尝试编写一个简单的函数来检查是否存在任何关键字作为数据列表中任何单词的子字符串.它应该为good_data列表返回True,为False 返回False bad_data.

我知道如何以一种效率低下的方式做到这一点:

def checkData(data):
  for s in data:
    for k in keywords:
      if k in s:
        return True
  return False
Run Code Online (Sandbox Code Playgroud)

python

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

xml.dom.minidom:获取CDATA值

我能够获取图像标记中的值(请参阅下面的XML),但不能获取Category标记.区别在于一个是CDATA部分,另一个是字符串.任何帮助,将不胜感激.

from xml.dom import minidom

xml = """<?xml version="1.0" ?>
<ProductData>
    <ITEM Id="0471195">
        <Category>
            <![CDATA[Homogenizers]]>        
        </Category>
        <Image>
            0471195.jpg
        </Image>
    </ITEM>
    <ITEM Id="0471195">
        <Category>
            <![CDATA[Homogenizers]]>        
        </Category>
        <Image>
            0471196.jpg
        </Image>
    </ITEM>
</ProductData>
"""

bad_xml_item_count = 0
data = {}
xml_data = minidom.parseString(xml).getElementsByTagName('ProductData')
parts = xml_data[0].getElementsByTagName('ITEM')
for p in parts:
    try:
        part_id = p.attributes['Id'].value.strip()
    except(KeyError):
        bad_xml_item_count += 1
        continue
    if not part_id:
        bad_xml_item_count += 1
        continue
    part_image = p.getElementsByTagName('Image')[0].firstChild.nodeValue.strip()
    part_category = p.getElementsByTagName('Category')[0].firstChild.data.strip()
    print '\t'.join([part_id, part_category, part_image])
Run Code Online (Sandbox Code Playgroud)

python xml

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

将Chrome历史记录文件(sqlite)中的datetime字段转换为可读格式

处理脚本以使用时间戳(教育设置)收集用户浏览器历史记录.Firefox 3历史记录保存在sqlite文件中,并且标记在UNIX纪元时间...在python中通过SQL命令获取它们并转换为可读格式非常简单:

sql_select = """ SELECT datetime(moz_historyvisits.visit_date/1000000,'unixepoch','localtime'), 
                        moz_places.url 
                 FROM moz_places, moz_historyvisits 
                 WHERE moz_places.id = moz_historyvisits.place_id
             """
get_hist = list(cursor.execute (sql_select))
Run Code Online (Sandbox Code Playgroud)

Chrome还将历史存储在sqlite文件中..但它的历史时间戳显然是格式化为自1601年1月1日午夜UTC以来的微秒数....

如何将此时间戳转换为可读格式,如Firefox示例中所示(如2010-01-23 11:22:09)?我正在用python 2.5.x(OS X 10.5上的版本)编写脚本,并导入sqlite3模块....

python sqlite datetime

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

Python:在lxml中添加名称空间

我正在尝试使用类似于此示例的lxml指定命名空间(取自此处):

<TreeInventory xsi:noNamespaceSchemaLocation="Trees.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
</TreeInventory>
Run Code Online (Sandbox Code Playgroud)

我不确定如何添加要使用的Schema实例以及Schema位置.该文件让我开始,这样做是这样的:

>>> NS = 'http://www.w3.org/2001/XMLSchema-instance'
>>> TREE = '{%s}' % NS
>>> NSMAP = {None: NS}
>>> tree = etree.Element(TREE + 'TreeInventory', nsmap=NSMAP)
>>> etree.tostring(tree, pretty_print=True)
'<TreeInventory xmlns="http://www.w3.org/2001/XMLSchema-instance"/>\n'
Run Code Online (Sandbox Code Playgroud)

我不知道如何指定它是一个实例,然后还指定一个位置.看来这可以用nsmap关键字-arg 来完成etree.Element,但我不知道怎么做.

python lxml xml-namespaces

7
推荐指数
1
解决办法
8815
查看次数

Java和Python中的线程

关于Python和Java中的线程我几乎没有问题......

  1. 是否可以为Python线程提供优先级,就像在Java中一样?
  2. 如何在Python中杀死,停止,暂停和中断线程?
  3. 线程组 - 他们真的是为了什么?Python也支持它们吗?
  4. 同步 - 在Java中,我们使用简单的关键字synchorinized作为方法,对象...... Python怎么样?

TNX!

python java multithreading

6
推荐指数
1
解决办法
2048
查看次数

Python和PGP /加密

我想使用python来创建一个通过公钥加密密码的函数.在用户端我需要安装PGP软件,它将生成密钥对.我想只使用公钥加密和私钥进行解密.问题在于加密功能(如何使用密钥进行加密)以及pgp安装.谁能告诉我这样做的正确方法

谢谢

python encryption pgp

5
推荐指数
1
解决办法
3902
查看次数

理解 pyqt 中的 connectSlotsByName() 时遇到问题?

我无法理解 pyuic4 主要使用的 connectSlotsByName() 方法。到目前为止,该类在 PyQt 文件中是单个类,这是可以的,因为我们可以使用 self ,它将在整个过程中与单个对象关联。但是当我们尝试时要使用不同文件中的各种类,就会出现问题并需要使用 connectSlotsByName() 。这是我遇到的奇怪情况。

我创建了一个堆叠小部件..

  • 我在上面放置了我的第一个小部件。它有一个名为“下一步 >”的按钮。

  • 单击下一步时,它会隐藏当前小部件并添加另一个具有“单击我”按钮的小部件。

这里的问题是第二个“点击我”按钮的点击事件没有被捕获。这是我可以为我的原始问题给出的一个最小的例子。请帮助我。

这是文件 No.1..(它具有父级堆叠小部件及其第一页)。单击下一步时,它会添加第二页,其中 file2 中有“clickme”按钮。

from PyQt4 import QtCore, QtGui

import file2

class Ui_StackedWidget(QtGui.QStackedWidget):

    def __init__(self,parent=None):

        QtGui.QStackedWidget.__init__(self,parent)

        self.setObjectName("self")
        self.resize(484, 370)
        self.setWindowTitle(QtGui.QApplication.translate("self", "stacked widget", None, QtGui.QApplication.UnicodeUTF8))

        self.createWidget1()

    def createWidget1(self):

        self.page=QtGui.QWidget()
        self.page.setObjectName("widget1")


        self.pushButton=QtGui.QPushButton(self.page)        
        self.pushButton.setGeometry(QtCore.QRect(150, 230, 91, 31))
        self.pushButton.setText(QtGui.QApplication.translate("self", "Next >", None, QtGui.QApplication.UnicodeUTF8))


        self.addWidget(self.page)


        QtCore.QMetaObject.connectSlotsByName(self.page)

          QtCore.QObject.connect(self.pushButton,QtCore.SIGNAL('clicked()'),self.showWidget2)


    def showWidget2(self):

        self.page.hide()

        obj=file2.widget2()
        obj.createWidget2(self)


if __name__ == "__main__":
    import sys
    app = QtGui.QApplication(sys.argv)
    ui = Ui_StackedWidget()
    ui.show()
    sys.exit(app.exec_()) 
Run Code Online (Sandbox Code Playgroud)

这是文件2

from PyQt4 …
Run Code Online (Sandbox Code Playgroud)

python qt pyqt

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

标签 统计

python ×10

java ×2

datetime ×1

encryption ×1

final ×1

keyword ×1

lxml ×1

multithreading ×1

pgp ×1

pyqt ×1

qt ×1

sqlite ×1

xml ×1

xml-namespaces ×1