Questions tagged «python»

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

13
如何在Python中获取当前执行文件的路径?
这似乎是一个新手问题,但事实并非如此。一些通用方法并非在所有情况下都有效: sys.argv [0] 这意味着使用path = os.path.abspath(os.path.dirname(sys.argv[0])),但是如果您是从另一个目录中的另一个Python脚本运行的,则此方法不起作用,并且这可能在现实生活中发生。 __文件__ 这意味着使用path = os.path.abspath(os.path.dirname(__file__)),但是我发现这不起作用: py2exe没有__file__属性,但是有一种解决方法 当您从IDLE运行时,execute()没有__file__属性 我得到的OS X 10.6 NameError: global name '__file__' is not defined 答案不完整的相关问题: Python-查找正在运行的文件的路径 当前文件的路径取决于我如何执行程序 如何知道Python中正在运行的脚本的路径? 将目录更改为Python脚本的目录 我正在寻找一种通用解决方案,该解决方案可以在所有上述用例中使用。 更新资料 这是一个测试用例的结果: python a.py的输出(在Windows上) a.py: __file__= a.py a.py: os.getcwd()= C:\zzz b.py: sys.argv[0]= a.py b.py: __file__= a.py b.py: os.getcwd()= C:\zzz py #! /usr/bin/env …
193 python  path  directory 



4
Python 3.3+中的软件包不需要__init__.py吗
我正在使用Python 3.5.1。我在这里阅读了文档和包部分:https : //docs.python.org/3/tutorial/modules.html#packages 现在,我具有以下结构: /home/wujek/Playground/a/b/module.py module.py: class Foo: def __init__(self): print('initializing Foo') 现在,在/home/wujek/Playground: ~/Playground $ python3 >>> import a.b.module >>> a.b.module.Foo() initializing Foo <a.b.module.Foo object at 0x100a8f0b8> 同样,现在在家里,超级文件夹Playground: ~ $ PYTHONPATH=Playground python3 >>> import a.b.module >>> a.b.module.Foo() initializing Foo <a.b.module.Foo object at 0x10a5fee10> 实际上,我可以做各种事情: ~ $ PYTHONPATH=Playground python3 >>> …

9
如何在Python中将字符串转换为utf-8
我有一个将utf-8字符发送到我的Python服务器的浏览器,但是当我从查询字符串中检索到它时,Python返回的编码是ASCII。如何将纯字符串转换为utf-8? 注意:从网络传递的字符串已经是UTF-8编码的,我只想让Python将其视为UTF-8而不是ASCII。

16
'setdefault'dict方法的用例
加入collections.defaultdict在Python 2.5大大降低用于需要dict的setdefault方法。这个问题是针对我们的集体教育: 什么是setdefault仍然有用,今天在Python 2.6 / 2.7? setdefault取代了哪些流行的用例collections.defaultdict?

9
从Django的queryset获取第一个对象的最快方法?
我经常发现自己想要从Django的查询集中获取第一个对象,或者None如果没有则返回。有很多方法可以完成所有这些工作。但是我想知道哪个是表现最好的。 qs = MyModel.objects.filter(blah = blah) if qs.count() > 0: return qs[0] else: return None 这会导致两个数据库调用吗?这似乎很浪费。这更快吗? qs = MyModel.objects.filter(blah = blah) if len(qs) > 0: return qs[0] else: return None 另一种选择是: qs = MyModel.objects.filter(blah = blah) try: return qs[0] except IndexError: return None 这样会生成一个数据库调用,这很好。但是需要很多时间创建一个异常对象,当您真正需要的只是一个琐碎的if-test时,这是一项非常占用内存的工作。 我该如何仅用一个数据库调用就可以做到这一点,而又不浪费带有异常对象的内存?

10
TypeError:并非在字符串格式化python期间转换所有参数
该程序应采用两个名称,如果它们的长度相同,则应检查它们是否相同。如果是相同的单词,则将显示“名称相同”。如果它们的长度相同但字母不同,则会显示“名称不同但长度相同”。我有问题的部分在底部的4行中。 #!/usr/bin/env python # Enter your code for "What's In (The Length Of) A Name?" here. name1 = input("Enter name 1: ") name2 = input("Enter name 2: ") len(name1) len(name2) if len(name1) == len(name2): if name1 == name2: print ("The names are the same") else: print ("The names are different, …

13
在Django Forms中定义CSS类
假设我有一个表格 class SampleClass(forms.Form): name = forms.CharField(max_length=30) age = forms.IntegerField() django_hacker = forms.BooleanField(required=False) 有没有一种方法可以在每个字段上定义CSS类,以便可以在渲染页面中基于类使用jQuery? 我希望不必手动构建表单。

6
如何消除数独方块中的凸度缺陷?
我当时在做一个有趣的项目:使用OpenCV(如Google护目镜等)从输入图像中解决数独问题。我已经完成了任务,但是最后我遇到了一个小问题。 我使用OpenCV 2.3.1的Python API进行了编程。 以下是我所做的: 读取图像 找到轮廓 选择面积最大的那个(也有些等同于正方形的那个)。 找到拐角点。 例如下面给出: (请注意,绿线正确地与数独的真实边界重合,因此数独可以正确变形。请检查下一张图片) 使图像变形为完美的正方形 例如图片: 执行OCR(为此我使用了我在OpenCV-Python的简单数字识别OCR中给出的方法) 而且该方法效果很好。 问题: 退房 这张图片。 在此图像上执行步骤4会得到以下结果: 画出的红线是原始轮廓,是数独边界的真实轮廓。 画出的绿线是近似轮廓,它将是变形图像的轮廓。 数独顶部的绿线和红线之间当然有区别。因此,在扭曲时,我并没有获得数独的原始边界。 我的问题 : 如何在数独的正确边界(即红线)上扭曲图像,或者如何消除红线和绿线之间的差异?OpenCV中有什么方法吗?

12
Python将csv导入列表
我有一个大约有2000条记录的CSV文件。 每个记录都有一个字符串和一个类别: This is the first line,Line1 This is the second line,Line2 This is the third line,Line3 我需要将此文件读入如下列表: data = [('This is the first line', 'Line1'), ('This is the second line', 'Line2'), ('This is the third line', 'Line3')] 如何使用Python将CSV导入到我需要的列表中?
192 python  csv 



5
什么是“一流”物品?
在给定的编程语言中,什么时候将对象或其他东西称为“一流”,为什么?它们与没有语言的语言有何不同? 编辑。当一个人说“一切都是对象”时(就像在Python中一样),他的确意味着“一切都是一流的”吗?

14
我如何理解Python循环的`else`子句?
许多Python程序员可能没有意识到while循环和for循环的语法包含一个可选else:子句: for val in iterable: do_something(val) else: clean_up() else子句的主体是执行某些类型的清理操作的好地方,并在循环的正常终止时执行:即,使用return或break跳过else子句退出循环;continue执行后退出。我知道这只是因为我只是看着它(再次),因为我永远记得当该else子句被执行。 总是?顾名思义,在循环的“失败”上?定期终止吗?即使循环退出return?我永远不能完全确定,不查它。 我将不确定性归咎于关键字的选择:我发现else这种语义难以置信。我的问题不是“为什么要为此目的使用该关键字”(虽然只有在阅读了答案和评论之后,我才可能会投票关闭该关键字),但我如何考虑该else关键字,以便其语义有意义,我因此可以记住吗? 我敢肯定,对此进行了大量讨论,并且我可以想象做出这一选择是为了与try语句的else:子句(我也必须查找)保持一致,并且其目标是不添加到该语句的列表中。 Python的保留字。也许选择的原因else将阐明其功能并使之更加令人难忘,但我是将名称与功能联系在一起,而不是出于历史解释本身。 这个问题的答案(我的问题作为与之重复的问题简短地结束了)包含很多有趣的背景故事。我的问题有不同的侧重点(如何将特定语义else与关键字选择联系起来),但是我觉得应该在某个地方链接到该问题。

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.