Python fileinput:在for循环结束后无法打印列表

Python fileinput:在for循环结束后无法打印列表,python,python-3.x,file-io,Python,Python 3.x,File Io,我正在尝试为我将要输入的矩阵创建一个2D数组,其中每一行都将 作为数组_1(二维数组)内部的数组添加。在for循环期间,如果我键入print,它将打印,但对于最后一行“print(array_1)”,不会打印任何内容,也不会给出任何错误消息。这是什么原因造成的?我希望能够使用数组_1并打印它。谢谢 import fileinput #creates empty array: array_1 = [] for line in fileinput.input(): #appends the orig

我正在尝试为我将要输入的矩阵创建一个2D数组,其中每一行都将 作为数组_1(二维数组)内部的数组添加。在for循环期间,如果我键入print,它将打印,但对于最后一行“print(array_1)”,不会打印任何内容,也不会给出任何错误消息。这是什么原因造成的?我希望能够使用数组_1并打印它。谢谢

import fileinput
#creates empty array:
array_1 = []
for line in fileinput.input():
#appends the original array:
        new_array = [str(line)]
        array_1.append(new_array)
fileinput.close()
#doesn't print anything here:
print(array_1)
打印行

['_cluster_frame']
['ca1670d2-f361-450e-be3b-7359711d2199_1']
['image_1.000000_.jpg']
打印数组_1

[['_cluster_frame']
['ca1670d2-f361-450e-be3b-7359711d2199_1']
['image_1.000000_.jpg']]

for loop语句中,尝试检查行中的内容。可能您得到的文件没有数据

您是否在标准输入流中提供任何输入?或者在运行该命令时提供文件?您是否可以在for循环中打印“str(line)”?顺便说一句,如果你想用矩阵进行计算,你需要将输入行转换成浮点数。@VikrantSharma我只是在运行时将输入粘贴到程序中it@Sharku我可以在循环运行时打印行,但不能在循环外部打印行。请尝试
python your\u script\u name.py your\u script\u name.py
。这将输出脚本的行,并验证是否有输出。在fileinput.input(“file_name”)语句中传递文件名,它将在@AnilKumarGupta修复此问题。你知道为什么我的方法只在for循环内部打印行,而不打印出来吗?Thanks@AlexBoyle您的代码片段是正确的,正如我所建议的,您可以验证通过文件路径传递的逐行数据,类似地,您可以按照Vikarant的建议通过用户输入进行验证。将代码放入名为matrix.py的模块中,使用python路径_to/matrix.py通过命令行运行模块。它将等待用户输入传递一些值例如“Line1”按ENTER键并传递下一个值“LINE2”,以此类推。。最后按CTRL+D。每次输入传递的值[““Line1”][““Line2”]”后,您都可以看到最后的矩阵数据[““Line1”]”,[““Line2”]]@AlexBoyle现在已经修复了吗??
[['_cluster_frame']
['ca1670d2-f361-450e-be3b-7359711d2199_1']
['image_1.000000_.jpg']]