如下所示:
import ascii
print ascii.charlist()
哪个会返回类似[A,B,C,D ......]的东西
string
常数可能是你想要的。 (docs)
>>> import string >>> string.ascii_uppercase 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
如果你想要所有可打印的字符:
>>> string.printable '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!"#$%&\'()*+,-./:;?@[\\]^_`{|}~ \t\n\r\x0b\x0c'
这里是:
[chr(i) for i in xrange(127)]
ASCII定义128个字符,其字节值范围为0到127(含)。因此,要获得所有ASCII字符的字符串,您可以这样做
''.join([chr(i) for i in range(128)])
其中只有一些是可打印的,但是可以通过Python访问可打印的ASCII字符
import string
string.printable
for i in range(0,128):
print chr(i)
试试这个!
由于ASCII可打印字符是一个非常小的列表(值在32到127之间的字节),因此在您需要时很容易生成:
>>> 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()
在chr()
的每次迭代中都称range()
。
不,没有,但你可以轻松制作一个:
#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