fan1993423 发表于 2018-2-22 19:20:18

随便输入一个文件路径,找到FLV,MP4视频格式的文件,并写入到一个.txt文件里

随便输入一个文件路径,找到FLV,MP4视频格式的文件,并写入到一个.txt文件里,如图,能正常输出所有的MP4和FLV格式的文件,但是写到TXT里为什么只能写一个,有高手能说明一下原因吗?并且能写出能实现的正确代码吗?谢谢{:5_91:}

冬雪雪冬 发表于 2018-2-22 19:45:30

在循环中每次都重新以w模式打开文件,把前面的内容清掉。
尝试改为open(文件名,'a')

fan1993423 发表于 2018-2-22 21:39:19

冬雪雪冬 发表于 2018-2-22 19:45
在循环中每次都重新以w模式打开文件,把前面的内容清掉。
尝试改为open(文件名,'a')

谢谢,但是我发现所有的文件写在一起了,有没有办法可以让一个视屏文件写好后自动换行,这样看起来清爽得多

冬雪雪冬 发表于 2018-2-22 21:45:22

fan1993423 发表于 2018-2-22 21:39
谢谢,但是我发现所有的文件写在一起了,有没有办法可以让一个视屏文件写好后自动换行,这样看起来清爽得 ...

可以在u.write后面加上一个'\n'

fan1993423 发表于 2018-2-22 23:05:09

冬雪雪冬 发表于 2018-2-22 21:45
可以在u.write后面加上一个'\n'

哦,报出错误了,麻烦你打个代码我看一下,好吧

冬雪雪冬 发表于 2018-2-22 23:38:39

fan1993423 发表于 2018-2-22 23:05
哦,报出错误了,麻烦你打个代码我看一下,好吧

按照你的程序修改的。扩展名和文件夹是根据我的情况改的。
import os
def f(m, n):
    os.chdir(m)
    p = os.listdir('.')
    for l in p:
      if os.path.splitext(l) in n:
            with open('d:\\abc.txt', 'a') as u:
                u.write(os.getcwd() + os.sep + l + '\n')
m = 'd:\\py'
n = ['.py', '.txt']
f(m, n)

fan1993423 发表于 2018-2-23 21:55:53

冬雪雪冬 发表于 2018-2-22 23:38
按照你的程序修改的。扩展名和文件夹是根据我的情况改的。

谢谢,已弄明白

zhouyu_sz 发表于 2018-2-25 14:52:15

格式改为‘a{:10_277:}’
页: [1]
查看完整版本: 随便输入一个文件路径,找到FLV,MP4视频格式的文件,并写入到一个.txt文件里