Questions tagged «python»

Python是一种多范式,动态类型的多用途编程语言。它旨在快速学习,理解和使用并强制使用干净统一的语法。请注意,Python 2自2020年1月1日起已不再受支持。不过,对于特定于版本的Python问题,请添加[python-2.7]或[python-3.x]标签。使用Python变体或库(例如Jython,PyPy,Pandas,Numpy)时,请将其包含在标签中。

4
我如何让setuptools安装不在PyPI上的软件包?
我刚刚开始使用setuptools和virtualenv。我的软件包需要最新的python-gearman,该工具仅可从GitHub获得。PyPI上的python-gearman版本是一个旧版本。Github源代码与setuptools兼容,即具有setup.py等。是否可以通过一种方法来使setuptools下载并安装新版本,而不是在PyPI上寻找并安装旧版本? 仅供参考,新的python-gearman是http://github.com/mtai/python-gearman



10
关于如何在python中使用属性功能的真实示例?
我对如何@property在Python中使用感兴趣。我阅读了python文档,并认为其中的示例只是一个玩具代码: class C(object): def __init__(self): self._x = None @property def x(self): """I'm the 'x' property.""" return self._x @x.setter def x(self, value): self._x = value @x.deleter def x(self): del self._x 我不知道通过包装_x用属性装饰器填充的内容可以获得什么好处。为什么不只是实现为: class C(object): def __init__(self): self.x = None 我认为,属性功能在某些情况下可能很有用。但当?有人可以给我一些真实的例子吗? 谢谢。

18
Python中的矩阵转置
Наэтотвопросестьответына 堆栈溢出нарусском:Поворотматрицы(двумерногомассива)на90градусовв的Pythonспомощью拉链 我正在尝试为python创建矩阵转置函数,但似乎无法使其工作。说我有 theArray = [['a','b','c'],['d','e','f'],['g','h','i']] 我想提出我的职能 newArray = [['a','d','g'],['b','e','h'],['c', 'f', 'i']] 因此,换句话说,如果我要将此2D数组打印为列和行,我希望将行变成列,将列变成行。 我到目前为止已经做到了,但是没有用 def matrixTranspose(anArray): transposed = [None]*len(anArray[0]) for t in range(len(anArray)): for tt in range(len(anArray[t])): transposed[t] = [None]*len(anArray) transposed[t][tt] = anArray[tt][t] print transposed

4
setuptools与distutils:为什么distutils仍然是一回事?
Python就可以用于包装和说明项目工具混淆历史:这些包括distutils标准库中,distribute,distutils2,和setuptools(也许更多)。看来,distribute并distutils2投票赞成的停产setuptools,这让两个相互竞争的标准。 据我所知,setuptools提供了更多的选择(例如,声明依赖项,测试等)distutils,但是它没有包含在Python标准库中(还可以吗?)。 现在推荐《Python打包用户指南》 [ 1 ]: 使用setuptools定义的项目和创建源代码分发。 并说明: 尽管您可以将pure distutils用于许多项目,但它不支持定义对其他项目的依赖关系,并且缺少一些便捷实用程序来自动正确填充所提供的包元数据setuptools。在标准库之外,setuptools还为不同版本的Python提供了更一致的功能集,并且(与不同distutils)setuptools将进行更新,以在所有受支持的版本上生成即将到来的“ Metadata 2.0”标准格式。 即使对于确实选择使用的项目distutils,当pip直接从源代码(而不是从预构建的wheel文件安装)安装此类项目时,它实际上也会使用setuptools来构建您的项目。 但是,查看各种项目的setup.py文件可以发现,这似乎并不是一个实际的标准。许多软件包仍在使用,distutils而那些支持的软件包则setuptools经常setuptools与distutils回退导入结合使用: try: from setuptools import setup except ImportError: from distutils.core import setup 然后尝试找到一种写可以由setuptools和安装的安装程序的方法distutils。由于distutils不支持设置功能中的依赖关系,因此通常包括各种容易出错的依赖关系检查方式。 人们为什么还要付出额外的努力来支持distutils- setuptools标准库中没有的事实是唯一的原因吗?distutils编写仅支持setup.py文件的优点和缺点是什么setuptools?

10
Python字符串打印为[u'String']
Наэтотвопросестьответына 堆栈溢出нарусском:покодировкамUTF-8выдаетрезультатпо-разномуприпечатистрокпоотдельностиисписка целиком 这肯定是一件容易的事,但这确实困扰着我。 我有一个脚本,可以读取网页并使用Beautiful Soup对其进行解析。我从汤中提取所有链接,因为我的最终目标是打印出link.contents。 我要解析的所有文本都是ASCII。我知道Python将字符串视为unicode,并且我确信这非常方便,在我的wee脚本中没有用。 每次我去打印一个包含'String'的变量时,我都会被[u'String']打印到屏幕上。是否有一种简单的方法可以将其恢复为ascii,还是应该编写一个正则表达式来删除它?
142 python  unicode  ascii 

9
用硒清除textarea中的文本
我进行了一些测试,这些测试用于检查某些字段中的文本无效时是否出现了正确的错误消息。有效性检查之一是某个textarea元素不为空。 如果此文本区域中已经有文本,我如何告诉硒清除该字段? 就像是: driver.get_element_by_id('foo').clear_field()





9
向异常添加信息?
我想实现以下目标: def foo(): try: raise IOError('Stuff ') except: raise def bar(arg1): try: foo() except Exception as e: e.message = e.message + 'happens at %s' % arg1 raise bar('arg1') Traceback... IOError('Stuff Happens at arg1') 但是我得到的是: Traceback.. IOError('Stuff') 关于如何实现这一目标的任何线索?如何在Python 2和3中做到这一点?
142 python  exception 

8
重命名熊猫DataFrame索引
我有一个没有标头的csv文件,带有DateTime索引。我想重命名索引和列名,但是使用df.rename()仅重命名了列名。虫子?我正在使用0.12.0版本 In [2]: df = pd.read_csv(r'D:\Data\DataTimeSeries_csv//seriesSM.csv', header=None, parse_dates=[[0]], index_col=[0] ) In [3]: df.head() Out[3]: 1 0 2002-06-18 0.112000 2002-06-22 0.190333 2002-06-26 0.134000 2002-06-30 0.093000 2002-07-04 0.098667 In [4]: df.rename(index={0:'Date'}, columns={1:'SM'}, inplace=True) In [5]: df.head() Out[5]: SM 0 2002-06-18 0.112000 2002-06-22 0.190333 2002-06-26 0.134000 2002-06-30 0.093000 2002-07-04 0.098667
142 python  pandas  dataframe 

30
Python Glob多种文件类型
有没有更好的方法在python中使用glob.glob来获取多个文件类型的列表,例如.txt,.mdown和.markdown?现在我有这样的事情: projectFiles1 = glob.glob( os.path.join(projectDir, '*.txt') ) projectFiles2 = glob.glob( os.path.join(projectDir, '*.mdown') ) projectFiles3 = glob.glob( os.path.join(projectDir, '*.markdown') )
142 python  glob 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.