当前位置: 首页 > 面试题库 >

遍历python中的文件行[重复]

董良策
2023-03-14
问题内容

这个问题已经在这里有了答案

第二次遍历文件不起作用 (4个答案)

去年关闭。

我有一个文件,其中某些名称逐行列出。

gparasha-macOS:python_scripting gparasha$ cat topology_list.txt 
First-Topology
Third-topology
Second-Topology

现在,我试图遍历这些内容,但是我无法这样做。

file = open('topology_list.txt','r')
print file.readlines()
for i in file.readlines():
    print "Entered For\n"
    print i

topology_list = file.readlines()
print topology_list

file.readlines()将文件的行打印为列表。所以我得到这个:

 ['First-Topology\n', 'Third-topology\n', 'Second-Topology\n']

但是,当我遍历此列表时,我无法这样做。

另外,当我将其分配给倒数第二行中的变量“ topology_list”并打印时。它给了我一个空的清单。

[]

所以我有两个问题。

我的方法有什么问题?如何做到这一点?


问题答案:

最简单的:

with open('topology_list.txt') as topo_file:
    for line in topo_file:
        print line,  # The comma to suppress the extra new line char

是的,您可以遍历文件句柄,而无需调用readlines()。这样,在大型文件上,您不必一次读取所有行(就是readlines()这样)。

请注意,该line变量将包含尾随换行符,例如 “这是一行\ n”



 类似资料:
  • 问题内容: 这个问题已经在这里有了答案 : 第二次遍历文件不起作用 (4个答案) 去年关闭。 我正在编写一个程序,要求我多次遍历文件的每一行: 为了简洁起见,我假设我总是需要遍历文件并每行打印5次。该代码与我在程序中实现的较长版本存在相同的问题:文件仅迭代一次。之后,该文件不执行任何操作。为什么是这样? 问题答案: 这是因为该行在循环之前仅出现一次。这将创建一个指向文件中一个位置的游标,因此,当您

  • 问题内容: 我有一个带有一些十六进制数字的文本文件,我正在尝试将其转换为十进制。我可以成功转换它,但似乎在循环存在之前它会读取一些不需要的字符,因此我遇到了以下错误。 我的代码如下 每个十六进制数字都在新行中输入 问题答案: 追溯表明文件末尾可能有一个空行。您可以这样解决: 另一方面,最好使用代替。不要忘记关闭文件,或者更好地使用该文件来关闭它们:

  • 本文向大家介绍python中遍历文件的3个方法,包括了python中遍历文件的3个方法的使用技巧和注意事项,需要的朋友参考一下 今天写一个在windows下批量修改文件名的python脚本,用到文件的遍历。用python进行文件遍历有多种方法,这里列举并说明一下。 os.path.walk() 这是一个传统的用法。 walk(root,callable,args)方法有三个参数:要遍历的目录,回调

  • 问题内容: 我试图遍历并拾取目录中的文件,但是在实现它时遇到了一些麻烦。如何提取多个文件,然后将它们移动到另一个文件夹? 问题答案: 带回调的旧答案 您想要使用fs.readdir函数获取目录内容,并使用fs.rename函数实际执行重命名。如果您 需要 等待它们完成之后再运行代码,则这两个函数都具有同步版本。 我写了一个快速脚本来完成您所描述的。 在我的本地机器上测试。 更新:fs.promis

  • 我试图做一个Python代码,遍历父文件夹中的所有子文件夹,并将子文件夹内容移动到父文件夹。我在python中使用os.walk函数,但它也一直选择父文件夹中的文件。有没有办法解决这个问题...

  • 我有一个网页,其中包含一个表格,该表格仅在我单击“检查元素”时出现,并且在查看源页面中不可见。该表仅包含两行,每行有几个单元格,看起来类似于此: 我试图做的是遍历行并返回每个单元格中包含的文本。我似乎真的不能用Selenium来做到这一点。元素不包含ID,我不知道如何获取它们。我不太熟悉使用xpath之类的。 这是一个返回的调试尝试: 从行中获取文本的简单方法是什么?