【问题标题】:Python list is not printing as expectedPython 列表未按预期打印
【发布时间】:2019-12-03 10:01:18
【问题描述】:

我正在尝试从目录中获取文件列表。

当我打印而不是获取时:

期望的输出

file1.txt 文件2.txt

我明白了:

电流输出

['file1.txt', 'file2.txt']

这是我的代码:

    def load_documentation(self):
        for dirpath, dirnames, filenames in walk("DocumentationTxtFiles"):
            print(filenames, sep='\n')

我遵循了一个视频教程,它是这样编写的,我也尝试删除 , sep-'\n 但它没有改变任何东西。

我是 python 新手,所以我对此缺乏经验。非常感谢任何帮助或建议。

【问题讨论】:

  • 添加for filename in filenames:

标签: python python-3.x list printing


【解决方案1】:

filenames 也是一个列表。因此,您需要在 foreach 中打印它的元素才能按预期打印。

  def load_documentation(self):
        for dirpath, dirnames, filenames in walk("DocumentationTxtFiles"):
            for fname in filenames
                print(fname, sep=' ')

【讨论】:

    【解决方案2】:

    既然你是想通过看视频来解决这个问题,我可以说你是python新手,所以我会尝试用你的代码一步一步地解释这个问题。

    您的代码的问题是您正在打印整个列表,在这种情况下,列表将按原样打印,而如果您想打印列表的每个元素,则需要选择每个特别是元素,然后打印出来。

    所以,您需要在代码中更改的是:

     def load_documentation(self):
        for dirpath, dirnames, filenames in walk("DocumentationTxtFiles"):
            for value in filenames:
                print(value, sep='\n')
    

    希望它有助于解释问题。

    【讨论】:

      【解决方案3】:

      你会得到一个文件名列表,你可以将它们转换成一个字符串,比如

          def load_documentation(self):
              for dirpath, dirnames, filenames in walk("DocumentationTxtFiles"):
                  print(' '.join(filenames), sep='\n')
      

      【讨论】:

      • 这对我不起作用。但也许它会在未来帮助某人。感谢您的帮助。
      【解决方案4】:

      只需更改您的打印声明:

      def load_documentation(self):
          for dirpath, dirnames, filenames in walk("DocumentationTxtFiles"):
              print(" ".join(filenames))
      

      【讨论】:

      • 此解决方案不适用于我的问题,但我希望它可以帮助其他有类似问题的人。感谢您的帮助。
      【解决方案5】:
      def load_documentation(self):
              for dirpath, dirnames, filenames in walk("DocumentationTxtFiles"):
                  for fname in filenames
                      print(fname, end=' ')
      

      使用 end 函数应该也可以,但是 sep=' ' 也是一个不错的选择

      【讨论】:

      • 此解决方案不适用于我的问题,但 sep=' ' 可以(多么奇怪)。感谢您的帮助
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-26
      • 1970-01-01
      相关资源
      最近更新 更多