我正在寻找如下内容:
import ascii
print(ascii.charlist())
将返回类似于["A", "B", "C", "D" ... ]
的内容。
string
模块中的常量可能是您想要的。
所有ASCII大写字母:
>>> import string
>>> string.ascii_uppercase
'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
所有可打印ASCII字符:
>>> string.printable
'0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~ tnrx0bx0c'
对于ASCII标准中定义的每个字符,使用chr
:
>>> ''.join(chr(i) for i in range(128))
'x00x01x02x03x04x05x06x07x08tnx0bx0crx0ex0fx10x11x12x13x14x15x16x17x18x19x1ax1bx1cx1dx1ex1f !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~x7f'
如下:
[chr(i) for i in range(128)]
ASCII定义了128个字符,字节值从0到127不等。要获得所有ASCII字符的字符串,只需输入
''.join(chr(i) for i in range(128))
只有100个被认为是可打印的。可打印的ASCII字符可以通过
访问import string
string.printable
由于ASCII可打印字符是一个相当小的列表(包含32到126之间的值的字节),因此在需要时很容易生成:
>>> for c in (chr(i) for i in range(32, 127)):
... print(c)
...
!
"
#
$
%
... # a few lines removed :)
y
z
{
|
}
~
不需要模块也可以做到:
characters = list(map(chr, range(97, 123)))
输入characters
,它应该打印["a","b","c", ... ,"x","y","z"]
。大写:
characters = list(map(chr, range(65, 91)))
任何范围(包括范围步骤的使用)都可以用于此,因为它使用Unicode。因此,增加range()
以向列表中添加更多字符。
map()
在range()
的每次迭代中调用chr()
。
for i in range(0, 128):
print(chr(i))
不,没有,但你可以很容易地创建一个:
#Your ascii.py program:
def charlist(begin, end):
charlist = []
for i in range(begin, end):
charlist.append(chr(i))
return ''.join(charlist)
#Python shell:
#import ascii
#print(ascii.charlist(50, 100))
#Comes out as:
#23456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abc