Questions tagged «python»

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

18
在python中轻松轻松地打印浮点数?
我有一个花车清单。如果我只是简单地print将其显示为: [9.0, 0.052999999999999999, 0.032575399999999997, 0.010892799999999999, 0.055702500000000002, 0.079330300000000006] 我可以使用print "%.2f",这将需要for循环遍历列表,但是对于更复杂的数据结构,它将不起作用。我想要类似的东西(我完全弥补了这一点) >>> import print_options >>> print_options.set_float_precision(2) >>> print [9.0, 0.052999999999999999, 0.032575399999999997, 0.010892799999999999, 0.055702500000000002, 0.079330300000000006] [9.0, 0.05, 0.03, 0.01, 0.06, 0.08]

8
在virtualenv中使用pip时如何避免“权限被拒绝”
我尝试pip在Ubuntu计算机上的虚拟环境中部署Python软件包,但遇到与权限相关的问题。例如: (TestVirtualEnv)test@testServer:~$ pip install markdown2 终止于: 错误:无法创建“ /home/test/virtualenvs/TestVirtualEnv/lib/python3.3/site-packages/markdown2.py”:权限被拒绝 我不能sudo,因为它将在全球范围内安装该软件包,而不是在虚拟环境中安装。我chown吃过site-packages; ls只显示目录有关easy_install,pip和setuptools,并没有相关的降价。 如何在虚拟环境中部署程序包pip而不会遇到与权限相关的错误?
93 python  virtualenv  pip 

9
使用Python读取UTF8 CSV文件
我正在尝试使用Python读取带重音字符的CSV文件(仅法语和/或西班牙语字符)。基于csvreader的Python 2.5文档(http://docs.python.org/library/csv.html),我提出了以下代码来读取CSV文件,因为csvreader仅支持ASCII。 def unicode_csv_reader(unicode_csv_data, dialect=csv.excel, **kwargs): # csv.py doesn't do Unicode; encode temporarily as UTF-8: csv_reader = csv.reader(utf_8_encoder(unicode_csv_data), dialect=dialect, **kwargs) for row in csv_reader: # decode UTF-8 back to Unicode, cell by cell: yield [unicode(cell, 'utf-8') for cell in row] def utf_8_encoder(unicode_csv_data): for line in unicode_csv_data: yield line.encode('utf-8') filename = …

2
Django导入错误-没有名为django.conf.urls.defaults的模块
我正在尝试运行使用Django 1.6的statsd / graphite。 访问石墨URL时,出现Django模块错误 django.conf.urls.defaults中的文件“ /opt/graphite/webapp/graphite/urls.py”,第15行,导入* ImportError:没有名为默认值的模块 但是,我没有找到默认的 django包/Library/Python/2.7/site-packages/django/conf/urls/ 请帮助解决此问题。

10
`if key in dict` vs. try / except`-哪个更易读?
我有一个关于成语和可读性的问题,对于这种特殊情况,似乎存在Python哲学上的冲突: 我想从字典B构建字典A。如果B中不存在特定键,则什么也不做,继续。 哪种方法更好? try: A["blah"] = B["blah"] except KeyError: pass 要么 if "blah" in B: A["blah"] = B["blah"] “请原谅”与“简单明了”。 哪个更好?为什么?

4
我如何在Tesseract和OpenCV之间进行选择?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 去年关闭。 改善这个问题 我最近遇到过Tesseract和OpenCV。看起来Tesseract是成熟的OCR引擎,而OpenCV可以用作创建OCR应用程序/服务的框架。 我尝试在某些图像上使用Tesseract,其准确性似乎不错。后来,我遇到了一个有关使用OpenCV使用Python执行OCR 的非常简单的教程,这给我留下了深刻的印象。几分钟后,我完成了对该系统的培训,其准确性非常好。但是,当然,采用这种方法意味着我需要使用大型训练集来广泛地训练系统。 我的具体问题如下: 如何在Tesseract和使用OpenCV构建自定义OCR应用之间进行选择? 对于Tesseract,有针对不同语言的培训数据集。OpenCV是否具有类似的功能,所以我不必重新开始就可以实现OCR? 对于想成为商业应用程序的哪个更好? 有什么建议?

4
相当于Python字典的Java
我是Python的长期用户,并且非常喜欢使用字典的方式。它们非常直观且易于使用。有没有一个与python字典等效的Java?我听说有人在使用哈希图和哈希表。有人可以解释使用哈希表和哈希图与python字典的异同吗?
93 java  python  hash  dictionary 


5
是否可以正常升级现有的virtualenv?
我有一个为Python 2.5创建的virtualenv,想将其“升级”到Python 2.6。 这是最初设置的方式: virtualenv --no-site-packages -p python2.5 myenv 我现在在同一目录中运行virtualenv进行升级: virtualenv --no-site-packages -p python2.6 myenv ... Not overwriting existing python script myenv/bin/python (you must use myenv/bin/python2.6) ... Overwriting myenv/bin/activate with new content 即使我也可以指定2.6,默认的python仍然是2.5。有什么办法可以完全删除 2.5并将'bin / python'指向2.6吗?


8
检查对象在Python中是否类似于文件
类文件对象是Python中的对象,其行为类似于真实文件,例如具有read()和write method(),但实现方式不同。鸭打字的实现概念的。 允许在需要文件的任何地方放置类似文件的对象是一种好习惯,例如 可以使用StringIO或Socket对象代替实际文件。因此执行这样的检查很不好: if not isinstance(fp, file): raise something 检查对象(例如方法的参数)是否为“类文件”的最佳方法是什么?
93 python  file 

6
使垂直网格线出现在matplotlib中的线图中
我想在绘图上同时获得水平和垂直网格线,但是默认情况下仅显示水平网格线。我正在使用pandas.DataFramepython中的sql查询中的a来生成在x轴上具有日期的折线图。我不确定为什么它们没有出现在日期上,我试图寻找答案,但是找不到答案。 我仅用来绘制图形的就是下面的简单代码。 data.plot() grid('on') data是DataFrame,其中包含日期和来自sql查询的数据。 我也尝试过添加下面的代码,但是我仍然得到相同的输出,但没有垂直网格线。 ax = plt.axes() ax.yaxis.grid() # horizontal lines ax.xaxis.grid() # vertical lines 有什么建议?

4
在Matplotlib中更改X轴比例
我使用Matlab创建了这个图 使用matplotlib,x轴绘制大量数字,例如100000、200000、300000。我想使用类似1、2、3和10 ^ 5的数字来表示它实际上是100000、200000、300000。 有没有一种简单的方法可以在matplotlib中创建这种比例?


1
装饰器执行顺序
def make_bold(fn): return lambda : "<b>" + fn() + "</b>" def make_italic(fn): return lambda : "<i>" + fn() + "</i>" @make_bold @make_italic def hello(): return "hello world" helloHTML = hello() 输出: "<b><i>hello world</i></b>" 在大多数示例中,我大致了解装饰器以及它如何与其中之一一起工作。 在此示例中,有2个。从输出看,似乎@make_italic先执行,然后执行@make_bold。 这是否意味着对于装饰功能,它将首先运行该功能,然后移至其他装饰器的顶部?像@make_italic先那么@make_bold,而不是相反。 所以这意味着它与大多数编程语言中的自顶向下方法的规范不同吗?仅用于这种装饰器吗?还是我错了?

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.