Python 打印列表内容时出现问题
我对Python(2.6.2)有一个奇怪的问题,我得出的结论是Vista端口中有一个bug(我无法在XP或Linux中复制它) 我有一个用户列表、加密密码和他们的主机,我将它们存储在一个更大的列表中(它充当一种数据库) 除了单个用户的数据存储方式和组的存储方式不一致之外,所有这些都可以正常工作 通过“创建用户”方法创建 ['localhost'、'demo'、'demouserpasswordhash'] 通过“创建_数据库”方法创建 ['\xff\xfel\x00o\x00c\x00a\x00l\x00h\x00o\x00s\x00t\x00','\x00d\x00e\x00m\x00o\x00','\x00d\x00e\x00m\x00o\x00u\x00s\x00e\x00p\x00a\x00s\x00s\x00w\x00o\x00r\x00d\x00h\x00a\x00s\x00\x00'] 我不明白它为什么这么做,因为它的代码有多简单:Python 打印列表内容时出现问题,python,Python,我对Python(2.6.2)有一个奇怪的问题,我得出的结论是Vista端口中有一个bug(我无法在XP或Linux中复制它) 我有一个用户列表、加密密码和他们的主机,我将它们存储在一个更大的列表中(它充当一种数据库) 除了单个用户的数据存储方式和组的存储方式不一致之外,所有这些都可以正常工作 通过“创建用户”方法创建 ['localhost'、'demo'、'demouserpasswordhash'] 通过“创建_数据库”方法创建 ['\xff\xfel\x00o\x00c\x00a\x00
# ----- base functions
def create_user ( user_data ):
return user_data.split(":")
def show_user ( user_data ):
print "Host: ", user_data[0]
print "Username: ", user_data[1]
print "Password: ", user_data[2]
print
def create_database ( user_list ):
database = []
for user in user_list:
database.append( create_user( user ) )
return database
def show_database( database ):
for row in database:
show_user( row )
# ----- test area
users = open( "users.txt" )
test_user = create_user( "localhost:demo:demouserpasswordhash" )
db = create_database( users )
print db[0]
print test_user
# -----
有没有人对此有过类似的经历?还是只有我一个人?您的文件users.txt是UTF-16格式的,但您是以ASCII格式打开的 将其更改为ASCII,或按如下方式打开:
import codecs
users = codecs.open( "users-16.txt", "r", "utf-16" )
您的文件users.txt是UTF-16格式的,但您正在以ASCII格式打开它 将其更改为ASCII,或按如下方式打开:
import codecs
users = codecs.open( "users-16.txt", "r", "utf-16" )
试着替换
create_user( user )
与
试着替换
create_user( user )
与
我想大部分问题都是我用写字板写文本文件造成的。我在Emacs中重新编辑了它,效果很好。我想大部分问题都是因为我使用写字板编写文本文件。我在Emacs中重播了它,效果很好。