Python while循环不返回结果

Python while循环不返回结果,python,Python,我有下面的列表,当我运行while循环时,它只打印列表中的第一个名字。 如您所见,db_名称列表位于第1列中 db_name testdb1 testdb2 testdb3 testdb4 . . . 我的代码: i=0 while i < len(db_name): print(db_name) i += 1 更好的是 for name in db_name: print(name) 这是打印列表的Python方式 要执行您正试图执行的操

我有下面的列表,当我运行while循环时,它只打印列表中的第一个名字。 如您所见,db_名称列表位于第1列中

db_name
testdb1
testdb2
testdb3
testdb4
.
.
.
我的代码:

i=0
while i < len(db_name):
         print(db_name)
         i += 1
更好的是

for name in db_name:
    print(name)
这是打印列表的Python方式

要执行您正试图执行的操作:

for item in db_name:
    dbconn=os.popen("db2 connect to {}".format(item)).read() 

首先我要澄清你的问题,你似乎想把每一项都打印在一个项目列表中。 第二,我将通过创建数据结构创建一个可复制的示例

db_name = ['testdb1','testdb2','testdb3','testdb4']  
然后,要打印每个元素,可以使用pythonic方法:

for db in db_name:
    print(db)  
或者,如果要尝试使用i+=1方法,则需要根据每个元素在列表中的位置来引用它:

i=0
while i < len(db_name):
    print(db_name[i])
    i+=1

您的代码在每个循环中打印相同的内容。您希望它打印什么?是db_名称和熊猫系列还是列表?这并不重要,只是为了澄清,您显示为列表的内容不是Python列表。请给我们一份真实的清单,一份您使用的清单或一份更短的清单。阅读并跟随。我想连接到每个数据库:dbconn=os.popenfdb2连接到{db_name}[I]。一个表达式中的readrange和len不漂亮。您不需要它们中的任何一个来遍历列表。您将如何像这样运行os.popen命令。dbconn=os.popenfdb2连接到{db_name}。read不要将列表理解用于打印等副作用。这是一个反模式足够公平,从我的答案中删除了它。这是可行的,但输出在另一个下返回1个字符。如何得到整个单词?你是说你不想在每个项目后都打印一个新行字符吗?我看到的结果是testdb1,依此类推。我可以为每个数据库运行os.popen命令。像这样的dbconn=os.popenfdb2连接到{db_name}.read
db_name = ['testdb1','testdb2','testdb3','testdb4']  
for db in db_name:
    print(db)  
i=0
while i < len(db_name):
    print(db_name[i])
    i+=1