Tag: python 3.x

在Ubuntu上找不到Tkinter模块

Python 2.7.1+ (r271:86832, Apr 11 2011, 18:05:24) [GCC 4.5.2] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import Tkinter >>> 另一方面… Python 3.2 (r32:88445, Mar 25 2011, 19:28:28) [GCC 4.5.2] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import Tkinter Traceback (most recent call last): File "<stdin>", […]

如何编写尽可能与Python 3.x兼容的Python 2.x?

在Python 2.x中包含Python 3.x特性的方法有很多,所以将来Python 2.x脚本的代码很容易转换成Python 3.x。 其中一个例子是用print()函数replaceprint语句: >>> from __future__ import print_function 有什么清单或资源可以给出一些想法如何使Python 2.x代码尽可能接近Python 3.x? 你能举出一些其他有用的导入或定义的例子, 使得Python 2.x的外观和行为更像Python 3.x吗? 让我们假设我们有最新的Python 2.x(目前2.7.2,我相信)在我们的处置。

用于Python 3.x的MySQL-db库?

所以,寻找一个与py3k / py3.0 / py3000兼容的mysql-db-lib,有什么想法? 谷歌什么都没有。

每个值多个键

是否可以在Python字典中为每个值分配多个键。 一个可能的解决scheme是为每个键分配值: dict = {'k1':'v1', 'k2':'v1', 'k3':'v1', 'k4':'v2'} 但是由于我的数据文件大于2 GB,这不是有效的内存。 否则,你可以做一个字典键的字典: key_dic = {'k1':'k1', 'k2':'k1', 'k3':'k1', 'k4':'k4'} dict = {'k1':'v1', 'k4':'v2'} main_key = key_dict['k2'] value = dict[main_key] 这也是非常耗费时间和精力的,因为我必须经历整个字典/文件两次。 有没有其他简单和内置的Python解决scheme? 注意:我的字典值不是简单的string(如在问题“v1”,“v2”)相当复杂的对象(包含不同的其他字典/列表等,不可能腌他们) 注意:问题似乎相似, 我怎样才能使用一个键和一个索引相同的字典值? 但我不是在寻找有序/索引的字典,我正在寻找其他有效的解决scheme(如果有的话),除了这个问题中提到的两个。

更新到Django 1.8 – AttributeError:django.test.TestCase没有属性'cls_atomics'

我更新了Django 1.7项目到Django 1.8,现在运行testing(是django.test.TestCase子类)时会出错。 Traceback (most recent call last): File "env\lib\site-packages\django\test\testcases.py", line 962, in tearDownClass cls._rollback_atomics(cls.cls_atomics) AttributeError: type object 'SomeTests' has no attribute 'cls_atomics' 如果我通过testing进行debugging,则可以顺利执行所有行,但在最后一行之后会引发exception。 这是一个示例testing: import django import unittest from django.test import TestCase import logging import sys from builtins import classmethod, isinstance class ATestTests(TestCase): @classmethod def setUpClass(cls): django.setup() logging.basicConfig(stream=sys.stderr, level=logging.DEBUG) def setUp(self): self._app = Application(name="a") […]

python sys.intern做什么,什么时候应该使用?

我遇到了这个关于词典memory management的问题 ,里面提到了实习function。 它究竟做了什么,什么时候使用? 举个例子: 如果我有一个名为看到 ,包含元组forms(string1,string2),我用来检查重复,将存储(内部(string1),内部(string2))提高性能和内存或速度?

为什么印刷声明不是pythonic?

这个问题在我看来已经有一段时间了(正如我以前的问题所certificate的那样 ):为什么print(x) )比print x更好(被定义为更为pythonic)呢? 对于那些不知道的人来说,在Python 3.0中print语句被改成了函数。 正式文件在PEP 3105中 ,动机是Guido van Rossum的电子邮件 。 对于这些观点我想作一个对比: 还有其他的操作符,比如我们写成的语句,虽然它们的function实际上是用一个函数__import__ 对于初学者来说,操作员print不属于通用的应用逻辑。 对他们来说,这是一个神秘的运营商,这是他们的计划的高潮。 他们期望它看起来不一样。 所有描述基本Python 2.x的初学者书籍现在都保证从第一个例子中被打破 。 当然,语言有时会改变,但是这些改变对新手来说通常不太明显。 print的function在应用程序级别上可以被复制,这并不是显而易见的。 例如,有时我想从控制台redirect打印作为模式操作系统对话框。 虽然人们说很难将所有的print语句重写到一个函数中,但是他们已经迫使每个Python 2.x开发人员为他们所有的项目完成这些工作。 好,自动转换器不难。 如果print是一个语句环绕函数__print__那么每个喜欢具有操作函数print的能力的人都可以得到__print__ 。 那么,我们可以请Stack Overflow页面上的这个问题有一个规范的答案吗?

替代Python 3中的execfile?

Python 2具有内置的函数execfile ,它在Python 3.0中被删除。 这个问题讨论了Python 3.0的替代方法,但自从Python 3.0以来,已经做了一些相当大的改变 。 Python 3.2的execfile和未来的Python 3.x版本的最佳select是什么?

如何向初学者解释int()函数

我正在辅导一个邻居的孩子,我们在使用input()(它返回一个stringint()之前探究了int()函数。 我们尝试了以下内容: int(5) int(5.5) int('5') int('5.5') 前三名按照预期返回了5 ; 最后一个抛出了错误 ValueError:无效文字为int()与基地10:'5.5' 鉴于前三行的行为​​,我如何解释这个错误到一个14岁(背景=说4种语言,但math不是那么热)? 更新 C#展品相同的行为: Convert.ToInt32("5.5"); 抛出错误 inputstring的格式不正确。

为什么'12345'.count('')返回6而不是5?

>>> '12345'.count('') 6 为什么会这样呢? 如果该string中只有5个字符,为什么计数函数返回一个? 另外,有没有一个更有效的方法来计算string中的字符?