Questions tagged «python»

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

9
访问对象存储器地址
当您object.__repr__()在Python中调用该方法时,您会得到类似以下的信息: <__main__.Test object at 0x2aba1c0cf890> 如果您过载了__repr__(),还有什么方法可以保留该内存地址,然后调用super(Class, obj).__repr__()并重新分配它呢?

14
在Python Django中运行单元测试时,如何禁用日志记录?
我正在使用一个基于单元测试的简单测试运行器来测试我的Django应用程序。 我的应用程序本身配置为在settings.py中使用基本记录器,方法是: logging.basicConfig(level=logging.DEBUG) 在我的应用程序代码中使用: logger = logging.getLogger(__name__) logger.setLevel(getattr(settings, 'LOG_LEVEL', logging.DEBUG)) 但是,在运行单元测试时,我想禁用日志记录,以免混乱我的测试结果输出。有没有一种简单的方法可以以全局方式关闭日志记录,以便在运行测试时,特定于应用程序的记录器不会将内容写到控制台上?

11
解析一个.py文件,读取AST,对其进行修改,然后写回修改后的源代码
我想以编程方式编辑python源代码。基本上,我想读取一个.py文件,生成AST,然后写回修改后的python源代码(即另一个.py文件)。 有多种方法可以使用标准python模块(例如ast或)来解析/编译python源代码compiler。但是,我认为它们都不支持修改源代码(例如删除此函数声明)然后写回修改后的python源代码的方法。 更新:我要这样做的原因是我想为python 编写一个Mutation测试库,主要是通过删除语句/表达式,重新运行测试并查看中断。

12
Python连接文本文件
我列出了20个文件名,例如['file1.txt', 'file2.txt', ...]。我想编写一个Python脚本将这些文件连接成一个新文件。我可以通过打开每个文件f = open(...),通过调用逐行读取f.readline(),然后将每一行写入该新文件。在我看来,这并不是很“优雅”,尤其是我必须逐行读取/写入的部分。 在Python中是否有更“优雅”的方式来做到这一点?

12
将日期时间格式化为字符串(以毫秒为单位)
我想datetime从日期起以毫秒为单位的字符串。这段代码对我来说很典型,我很想学习如何缩短它。 from datetime import datetime timeformatted= str(datetime.utcnow()) semiformatted= timeformatted.replace("-","") almostformatted= semiformatted.replace(":","") formatted=almostformatted.replace(".","") withspacegoaway=formatted.replace(" ","") formattedstripped=withspacegoaway.strip() print formattedstripped

1
Python模拟多个返回值
我正在使用pythons mock.patch并想更改每个调用的返回值。请注意,正在修补的函数没有输入,因此我无法根据输入更改返回值。 这是我的代码供参考。 def get_boolean_response(): response = io.prompt('y/n').lower() while response not in ('y', 'n', 'yes', 'no'): io.echo('Not a valid input. Try again']) response = io.prompt('y/n').lower() return response in ('y', 'yes') 我的测试代码: @mock.patch('io') def test_get_boolean_response(self, mock_io): #setup mock_io.prompt.return_value = ['x','y'] result = operations.get_boolean_response() #test self.assertTrue(result) self.assertEqual(mock_io.prompt.call_count, 2) io.prompt仅仅是“输入”的独立于平台的版本(python 2和3)。因此,最终我将尝试模拟用户的输入。我已经尝试过使用列表作为返回值,但这并不能正常工作。 您可以看到,如果返回值无效,那么我将在此处得到一个无限循环。因此,我需要一种最终更改返回值的方法,以便测试实际上完成。 (回答此问题的另一种可能方法是解释如何在单元测试中模仿用户输入) …

3
大熊猫:在多列上合并(合并)两个数据框
我正在尝试使用两列加入两个熊猫数据框: new_df = pd.merge(A_df, B_df, how='left', left_on='[A_c1,c2]', right_on = '[B_c1,c2]') 但出现以下错误: pandas/index.pyx in pandas.index.IndexEngine.get_loc (pandas/index.c:4164)() pandas/index.pyx in pandas.index.IndexEngine.get_loc (pandas/index.c:4028)() pandas/src/hashtable_class_helper.pxi in pandas.hashtable.PyObjectHashTable.get_item (pandas/hashtable.c:13166)() pandas/src/hashtable_class_helper.pxi in pandas.hashtable.PyObjectHashTable.get_item (pandas/hashtable.c:13120)() KeyError: '[B_1, c2]' 任何想法应该是正确的方法吗?谢谢!

7
将Pandas DataFrame转换为字典
我有一个包含四列的DataFrame。我想将此DataFrame转换为python字典。我希望第一列keys的元素为,同一行中其他列的元素为values。 数据框: ID A B C 0 p 1 3 2 1 q 4 3 2 2 r 4 0 9 输出应如下所示: 字典: {'p': [1,3,2], 'q': [4,3,2], 'r': [4,0,9]}

17
无法安装Python软件包[SSL:TLSV1_ALERT_PROTOCOL_VERSION]
我正在尝试使用安装Python库pip,并收到SSL错误: ~/projects/base  pre-master± pip install xdict Collecting xdict Could not fetch URL https://pypi.python.org/simple/xdict/: There was a problem confirming the ssl certificate: [SSL: TLSV1_ALERT_PROTOCOL_VERSION] tlsv1 alert protocol version (_ssl.c:590) - skipping Could not find a version that satisfies the requirement xdict (from versions: ) No matching distribution found for xdict …


2
在python模块docstring中放什么?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 2年前关闭。 改善这个问题 好的,我已经阅读了PEP 8和PEP 257,并且为函数和类编写了许多文档字符串,但是我不确定模块文档字符串中应该包含什么。我认为,至少它应该记录该模块导出的功能和类,但是我也看到了一些列出作者姓名,版权信息等的模块。有没有人举过一个很好的python docstring应该怎么做的例子。有条理?


10
如何动态加载Python类
给定一个Python类的字符串,例如my_package.my_module.MyClass,最好的加载方式是什么? 换句话说,我正在寻找Class.forName()Java中等效的Python函数。它需要在Google App Engine上工作。 最好是一个函数,该函数接受类的FQN作为字符串,并返回对该类的引用: my_class = load_class('my_package.my_module.MyClass') my_instance = my_class()

6
如何与非程序员共享Jupyter笔记本?[关闭]
关闭。此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗?更新问题,使其成为Stack Overflow 的主题。 去年关闭。 改善这个问题 我试图用Jupyter做我不能做的事情。 我的内部服务器上运行着Jupyter服务器,可通过VPN和受密码保护的服务器进行访问。 我是唯一实际创建笔记本的人,但是我想以只读方式使其他团队成员可以看到一些笔记本。理想情况下,我可以与他们共享一个URL,当他们希望查看带有刷新数据的笔记本时,他们将为其添加书签。 我看到了导出选项,但找不到任何有关“发布”或“公开”本地现场笔记本的信息。这不可能吗?考虑应该如何使用Jupyter可能只是错误的方式?

3
如何在python jinja模板中输出loop.counter?
我希望能够将当前循环迭代输出到我的模板。 根据文档:http : //wsgiarea.pocoo.org/jinja/docs/loops.html,我正在尝试使用一个loop.counter变量。 我有以下几点: <ul> {% for user in userlist %} <li> {{ user }} {{loop.counter}} </li> {% if loop.counter == 1 %} This is the First user {% endif %} {% endfor %} </ul> 虽然没有任何输出到我的模板。正确的语法是什么?
167 python  jinja2 

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.