草庐IT

print_str

全部标签

python - 日志记录与 print() + 日志记录最佳实践的优势

我目前正在开发pyftpdlib的1.0.0版模块。这个新版本将引入一些向后不兼容的更改某些API将不再接受字节,而是接受unicode。当我在做这件事时,作为这次破坏的一部分,我正在考虑摆脱我的日志记录功能的可能性,它目前使用打印语句,并改用日志记录模块。截至目前,pyftpdlib将日志记录委托(delegate)给3个函数:deflog(s):"""Logmessagesintendedfortheenduser."""printsdeflogline(s):"""Logcommandsandresponsespassingthroughthecommandchannel."""

【Python报错-02】解决Python中的join()函数报错 :sequence item 0: expected str instance, int found

1报错内容:TypeError:sequenceitem0:expectedstrinstance,intfound。TypeError:序列项0:应为str实例,但找到list。原代码如下:str1='\n'f=open('labels.txt','w')f.write(str1.join(labels)) #这句话报错f.close()2了解join()函数语法:str.join(sequence)参数:可连接对象:列表,元组,字符串,字典和集合(都得是字符串)#参数#sequence-要连接的元素序列。比如:列表,元组,字符串,字典和集合#str-以什么来连接元素3解决办法(1)根据错

python 2.7 : reload(sys) disables error messages and print in Windows

我正在制作一个脚本,要求我将编码格式更改为“UTF-8”。我在Stachoverflow上找到了一个主题,说我可以使用:importsysreload(sys)sys.setdefaultencoding('utf-8')它在OSX10.8(也可能是更早的版本)中运行良好,但在WindowsXP和Windows7(也可能是Vista和8)中它会禁用解释器中的所有反馈。脚本仍在运行,但我无法打印任何内容或查看是否有任何问题。有没有办法修补当前代码,或者有其他方法来更改编码? 最佳答案 可能发生在你身上的事情与空闲有关,因为空闲用它自己

python - 为什么我可以从 'print' 调用 'eval'

对于代码:#!/usr/bin/pythonsrc="""print'!!!'importos"""obj=compile(src,'','exec')eval(obj,{'__builtins__':False})我得到输出:!!!Traceback(mostrecentcalllast):File"./test.py",line9,ineval(obj,{'__builtins__':False})File"",line3,inImportError:__import__notfound'print'和'import'都是语言结构。为什么'eval'限制使用'import'但不限制

Python 3.2 空闲 : range function - print or list?

我知道这是错误的做法,但我使用的是python3,但我是通过python2的书来研究它的。它说,>>>range(2,7)会显示[2,3,4,5,6]但我知道它不会显示上面的输出,我想。所以我尝试了:>>>>print(range(2,7))ta-da-它显示如下:range(2,7)看起来这是从P2到P3的变化之一,所以我尝试了:list(range(2,7))这个在IDLE上可以正常工作,但在记事本上不能正常工作以进行长时间编码。所以最后我尝试了:print(list(range(2,7)))它显示的内容与我的意图类似……我做对了吗?只有这样才能写吗?

python - 如何将函数转换为 str for Python?

假设我有以下lambda函数。fn=lambdax:print(x)如果我想把它转换成字符串"lambdax:print(x)"我能做什么?我期待str(fn)或str(fn.__code__)会这样做,但不是真的......它只是打印出类型、内存位置等。我也尝试过pickle.dumps和json,但我无法得到我想要的。如何将函数转换为显示函数定义的字符串?---我想将函数作为输入并将其转换为字符串 最佳答案 如果你已经安装了dill就很容易了。(pipinstalldill)fromdill.sourceimportgetsou

python - 使用 `str` 是在 Python 中处理数字的正确习惯用法

我知道在Python中处理数字数字的一种方法是将数字转换为字符串,然后使用字符串方法将生成的“数字”切片为“数字”组。例如,假设我有一个测试素数的函数prime,我可以确认一个整数n既是左值又是右值truncatableprime。与all(prime(int(str(n)[:-i]))andprime(int(str(n)[i:]))foriinrange(1,len(str(n))))此方法涉及首先将n转换为字符串以便对其进行切片,然后将该切片转换回整数以便检查其素数。也许这是我使用静态类型语言的历史,或者是关于字符串“昂贵”的模糊想法,或者是使用包含用于类似操作的内置功能的语言的

python - 如何将 numpy 对象数组转换为 str/unicode 数组?

更新:在最新版本的numpy(例如v1.8.1)中,这不再是问题。此处提到的所有方法现在都正常工作。原问题:有时使用对象dtype存储字符串数组很方便,尤其是当需要修改大数组的内容而无需事先了解字符串的最大长度时,例如,>>>importnumpyasnp>>>a=np.array([u'abc',u'12345'],dtype=object)在某些时候,可能想要将dtype转换回unicode或str。然而,简单的转换将截断长度为4或1的字符串(为什么?),例如>>>b=np.array(a,dtype=unicode)>>>barray([u'abc',u'1234'],dtype

Python popen() - 通信(str.encode(编码 ="utf-8",错误 ="ignore"))崩溃

在Windows上使用Python3.4.3。我的脚本在控制台中运行一个小的java程序,应该得到输出:importsubprocessp1=subprocess.Popen([...],stdout=subprocess.PIPE,stderr=subprocess.PIPE,universal_newlines=True)out,err=p1.communicate(str.encode("utf-8"))这导致一个正常的'UnicodeDecodeError:'charmap'codeccan'tdecodebyte0x9dinposition135:charactermapst

python - 为什么我不能 "string".print()?

我对Python和Ruby(以及其他语言)中的print()的理解是,它是字符串(或其他类型)上的一种方法。因为它是如此常用的语法:print"hi"有效。那么为什么Python中的"hi".print()或Ruby中的"hi".print不起作用? 最佳答案 当您执行类似"hi".print()的操作时,您暗示字符串对象"hi"有一个方法print。不是这种情况。相反,print是一个将字符串(或其他类型)作为输入的函数。 关于python-为什么我不能"string".print()