草庐IT

str_buff

全部标签

python - str.startswith 是如何工作的?

我一直在玩startswith(),我发现了一些有趣的东西:>>>tup=('1','2','3')>>>lis=['1','2','3','4']>>>'1'.startswith(tup)True>>>'1'.startswith(lis)Traceback(mostrecentcalllast):File"",line1,inTypeError:startswithfirstargmustbestroratupleofstr,notlist现在,错误很明显,将列表转换为元组将像最初那样工作得很好:>>>'1'.startswith(tuple(lis))True现在,我的问题是:

python - PyCharm - 预期类型 'Optional[IO[str]]' ,取而代之的是 'TextIOWrapper[str]'

PyCharm升级到2017.1后,看似简单正确的地方开始弹出新的检查警告。它看起来如下:看起来open()没有返回file参数的预期类型,但代码非常简单,最重要的是,它确实按预期工作(使用Python3.5.2)。Pythondocs提到一种使用StringIO的方法,它确实消除了警告,但是这是为print指定输出流的正确pythonic方法吗?如果是这样,为什么?遵循这个警告很重要吗? 最佳答案 我找到的唯一解决方案是正确键入hintPyCharm:fromtypingimportIOwithopen('output_filen

python - Scrapy: 'str' 对象没有属性 'iter'

我向我的scrapy蜘蛛添加了restrict_xpaths规则,现在它立即失败并显示:2015-03-1615:46:53+0000[tsr]ERROR:SpidererrorprocessingTraceback(mostrecentcalllast):File"/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/twisted/internet/base.py",line800,inrunUntilCurrentcall.func(*call.args,**call.kw)File"

python - 为什么 str(KeyError) 添加额外的引号?

为什么KeyError的字符串表示会在错误消息中添加额外的引号?所有其他内置异常只是直接返回错误消息字符串。例如下面的代码:printstr(LookupError("foo"))printstr(KeyError("foo"))产生以下输出:foo'foo'我已经用其他内置异常(IndexError、RuntimeError、Exception等)的样本进行了尝试,它们都返回了不带引号的异常消息。help(KeyError)说__str__(...)是在KeyError中定义的,而不是LookupError,它使用BaseException基类中定义的那个。这解释了行为有何不同,但没

python - 将 Python 3 Unicode 字节字符串 - `str(utf8_encoded_str)` 转换回 unicode

那我先介绍一下问题我通过POST/GET请求获得了一些数据。数据是UTF-8编码的字符串。我不知道,只是通过str()方法将其转换。现在我拥有完整的“废话数据”数据库,找不到返回的方法。示例代码:unicode_str-这是我应该获取的字符串encoded_str-这是我通过POST/GET请求获得的字符串-初始数据bad_str-我目前在数据库中的数据,我需要从中获取unicode。显然我知道如何转换:unicode_str=(encode)=>encoded_str=(str)=>bad_str但我无法想出解决方案:bad_str=(???)=>encoded_str=(decod

python - TypeError : list indices must be integers, 不是 str Python

list[s]是一个字符串。为什么这不起作用?出现如下错误:TypeError:listindicesmustbeintegers,notstrlist=['abc','def']map_list=[]forsinlist:t=(list[s],1)map_list.append(t) 最佳答案 当你遍历一个列表时,循环变量接收实际的列表元素,而不是它们的索引。因此,在您的示例中s是一个字符串(第一个abc,然后是def)。看起来您要做的基本上是这样的:orig_list=['abc','def']map_list=[(el,1)f

python - str(list) 如何工作?

为什么str(list)返回我们如何在控制台上看到列表?怎么样str(list)工作?(对str(list)的CPython代码的任何引用)?>>>x=['abc','def','ghi']>>>str(x)"['abc','def','ghi']"从str(list)取回原始列表我必须:>>>fromastimportliteral_eval>>>x=['abc','def','ghi']>>>str(x)"['abc','def','ghi']">>>list(str(x))['[',"'",'a','b','c',"'",',','',"'",'d','e','f',"'",',

python - 我可以更改 Python 绑定(bind)方法对象的 __str__() 属性吗?

我想更改__str__()我类的一个方法的属性。(注意:不要与“尝试更改方法__str__()”混淆。)我有一个类MyClass,它有一个方法“some_method”。我可以通过以下方式更改MyClass显示自身的方式:classMyClass():def__init__(self):passdefsome_method(self):passdef__str__(self):return"I'maninstanceofMyClass!"当我实例化并打印MyClass时:print(my_class)我得到:I'maninstanceofMyClass!当我print(my_class

python - TypeError:需要一个类似字节的对象,而不是 'str' - python 2 到 3

这个问题在这里已经有了答案:WhydoIneed'b'toencodeastringwithBase64?(5个答案)关闭5年前。您好,我遇到了这条错误消息的问题。我是Python的新手,这个Python2和Python3很麻烦。我不确定在这里做什么,错误消息如下所示。UsingTicker:AAPLTraceback(mostrecentcalllast):File"realtime.py",line18,inr=requests.get(auth_url,headers={"Authorization":"Basic%s"%base64.b64encode(os.environ['

python - 类型 <type 'numpy.string_' > 和 <type 'str' > 有什么区别?

类型之间有区别吗和? 最佳答案 numpy.string_是用于包含固定宽度字节字符串的数组的NumPy数据类型。另一方面,str是原生Python类型,不能用作NumPy数组的数据类型*。如果您创建一个包含字符串的NumPy数组,该数组将使用numpy.string_类型(或Python3中的numpy.unicode_类型)。更准确地说,该数组将使用np.string_的子数据类型。:>>>a=np.array(['abc','xy'])>>>aarray(['abc','xy'],dtype='>>np.issubdtype(