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

当我打印而不是得到时:

期望的输出

file1.txt file2.txt

我得到:

电流输出

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

这是我的代码:

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

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

我是python的新手,所以对此没有经验。 任何帮助或建议,我们将不胜感激。

===============>>#1 票数:2

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

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

===============>>#2 票数:0

您会得到文件名列表,可以将其转换为类似

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

===============>>#3 票数:0

只需更改您的打印声明:

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

===============>>#4 票数:0

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

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

===============>>#5 票数:0 已采纳

由于您正在尝试通过观看视频来解决此问题,因此我可以说您是python的新手,所以我将尝试逐步解释代码中的问题。

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

因此,您需要在代码中进行的更改是:

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

希望它有助于解释问题。

  ask by Andrea Torres translate from so

未解决问题?本站智能推荐: