Python:“名称ascii()未定义”

时间:2015-10-27 19:09:15

标签: python encoding

我已经从Python REPL执行了这个:

>>> ascii('Łukasz')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'ascii' is not defined
>>> 

为什么不识别内置函数?

当我使用Python解释器执行此脚本时,同样的事情发生了:

#!/user/bin/python
# -*- coding: UTF-8 -*-

def escape_unicode(f):
    def wrap(*args, **kwargs):
        x = f(*args, **kwargs)
        return ascii(x)

    return wrap     

@escape_unicode
def my_name():
    return 'Łukasz'

my_name()
  

NameError:未定义全局名称“ascii”

2 个答案:

答案 0 :(得分:1)

```{r qplot,fig.width=10, fig.height=8, message=FALSE, results = 'asis', echo=FALSE, warning=FALSE, fig.cap='long caption', fig.scap='short'} library(ggplot2) library(knitr) cat(paste("\\section{Application Name-", App, "}")) print(ggplot(data, aes(Date, cpu))+geom_line() cat("\\newline") ``` 功能仅为available in Python 3

使用repr() function完全在Python 3中ascii()所做的事情(Python 3中的ascii()不会使用{{1}转义为非ascii代码点):

repr()

如果您正在学习教程,则需要切换到另一个教授Python 2的教程,或安装Python 3并继续使用它。

答案 1 :(得分:0)

ascii不是内置的python(2.7)。也许您正在考虑str()s.encode('ascii')