Questions tagged «python»

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

5
如何在带有unittest setUp的python中正确使用模拟
在尝试学习TDD的过程中,尝试学习单元测试并在python中使用模拟。慢慢掌握它,但不确定我是否正确执行此操作。预先警告:由于供应商API是预编译的2.4 pyc文件,因此我正在使用python 2.4进行卡住,因此我正在使用模拟0.8.0和unittest(不是unittest2) 在“ mymodule.py”中给出此示例代码 import ldap class MyCustomException(Exception): pass class MyClass: def __init__(self, server, user, passwd): self.ldap = ldap.initialize(server) self.user = user self.passwd = passwd def connect(self): try: self.ldap.simple_bind_s(self.user, self.passwd) except ldap.INVALID_CREDENTIALS: # do some stuff raise MyCustomException 现在在我的测试用例文件“ test_myclass.py”中,我要模拟ldap对象。ldap.initialize返回ldap.ldapobject.SimpleLDAPObject,因此我认为这是我必须模拟的方法。 import unittest from ldap import INVALID_CREDENTIALS from mock import …

10
带参数的多行字符串。如何申报?
假设我有一个非常长的字符串,其中包含要创建的参数。我知道您可以使用创建多行字符串 cmd = """line 1 line 2 line 3""" 但是现在让我说我想传递1、2和3作为参数。 这有效 cmd = """line %d line %d line %d""" % (1, 2, 3) 但是,如果我有一个包含30个以上参数的超长字符串,那么如何在多行中传递这些参数呢?在单行中传递它们会破坏甚至尝试创建多行字符串的目的。 预先感谢任何人的帮助和见识。
72 python 


6
Python:Pandas根据字符串长度过滤字符串数据
我喜欢过滤掉字符串长度不等于10的数据。 如果我尝试过滤掉列A或B的字符串长度不等于10的任何行,则尝试这样做。 df=pd.read_csv('filex.csv') df.A=df.A.apply(lambda x: x if len(x)== 10 else np.nan) df.B=df.B.apply(lambda x: x if len(x)== 10 else np.nan) df=df.dropna(subset=['A','B'], how='any') 这工作缓慢,但正在工作。 但是,当A中的数据不是字符串而是数字(在read_csv读取输入文件时解释为数字)时,有时会产生错误。 File "<stdin>", line 1, in <lambda> TypeError: object of type 'float' has no len() 我相信应该有更高效,更优雅的代码来代替。 根据下面的答案和评论,我找到的最简单的解决方案是: df=df[df.A.apply(lambda x: len(str(x))==10] df=df[df.B.apply(lambda x: len(str(x))==10] 要么 df=df[(df.A.apply(lambda x: len(str(x))==10) & …
72 python  string  pandas  csv  filter 

10
嵌套字典中的Python数据类
3.7中的标准库可以将数据类递归转换为dict(来自文档的示例): from dataclasses import dataclass, asdict from typing import List @dataclass class Point: x: int y: int @dataclass class C: mylist: List[Point] p = Point(10, 20) assert asdict(p) == {'x': 10, 'y': 20} c = C([Point(0, 0), Point(10, 4)]) tmp = {'mylist': [{'x': 0, 'y': 0}, {'x': 10, 'y': 4}]} …


7
如何使用Python ftplib通过FTP下载文件
我有以下代码,可以轻松连接到FTP服务器并打开一个zip文件。我想将该文件下载到本地系统。怎么做? # Open the file for writing in binary mode print 'Opening local file ' + filename file = open(filename, 'wb') # Download the file a chunk at a time # Each chunk is sent to handleDownload # We append the chunk to the file and then print a '.' …
72 python  ftplib 

8
如何在不区分大小写的情况下匹配字符串中的子字符串
我正在寻找Python中忽略大小写字符串的比较。 我尝试过: if line.find('mandy') >= 0: 但忽略案例没有成功。我需要在给定的文本文件中找到一组单词。我正在逐行读取文件。一行上的单词可以是mandy,Mandy,MANDY等(我不想使用toupper/tolower等)。 我正在寻找下面的Perl代码的Python等效项。 if ($line=~/^Mandy Pande:/i)
72 python  perl 


2
Z分数的概率,反之亦然
如何计算z scorea的p-value反之亦然? 例如,如果我的p值为0.95I ,我应该得到1.96回报。 我在scipy中看到了一些函数,但是它们仅在数组上运行z测试。 我可以访问numpy,statsmodel,pandas和scipy(我认为)。

6
Python Pandas:读取Excel文件时如何指定数据类型?
我正在使用该pandas.read_excel()功能将Excel文件导入到熊猫数据框。 列之一是表格的主键:是所有数字,但以文本形式存储(Excel单元格左上角的绿色小三角形确认了这一点)。 但是,当我将文件导入pandas数据框时,该列将作为浮点导入。这意味着,例如“ 0614”变为614。 导入列时是否可以指定数据类型?我知道在导入CSV文件时这是可能的,但找不到的语法read_excel()。 我能想到的唯一解决方案是在Excel中的文本开头添加一个任意字母(将“ 0614”转换为“ A0614”),以确保将列作为文本导入,然后切掉“ A”在python中,因此我可以将其与我从SQL导入的其他表进行匹配。

6
如何使用PIL使所有白色像素透明?
我正在尝试使用Python图像库使所有白色像素透明。(我是一位尝试学习python的C黑客,所以要谦虚)我已经完成了转换工作(至少像素值看起来正确),但是我不知道如何将列表转换为缓冲区以重新创建图片。这是代码 img = Image.open('img.png') imga = img.convert("RGBA") datas = imga.getdata() newData = list() for item in datas: if item[0] == 255 and item[1] == 255 and item[2] == 255: newData.append([255, 255, 255, 0]) else: newData.append(item) imgb = Image.frombuffer("RGBA", imga.size, newData, "raw", "RGBA", 0, 1) imgb.save("img2.png", "PNG")


6
如何使用Python将弧度转换为度?
在math模块中,我只能找到math.cos(x)带有cos / sin / tan / acos / asin / atan的。这将返回以弧度为单位的答案。如何获得度数的答案? 这是我的代码: import math x = math.cos(1) y = x * 180 / math.pi print(y) 30.9570417874 我的度数计算器为我提供: cos(1) 0.9998476...
72 python  math 

8
Python中的带条件语句
有没有一种方法可以用with语句开始代码块,但是有条件地? 就像是: if needs_with(): with get_stuff() as gs: # do nearly the same large block of stuff, # involving gs or not, depending on needs_with() 为了明确起见,一种情况将在with语句中包含一个块,而另一种可能性将是相同的块,但未包含(即,好像没有缩进) 当然,最初的实验会产生压痕错误。

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.