Tihool 发表于 2022-2-24 19:56:55

python操作系统课后题

import os
file_open = open('vediolist.txt','w')
file_dir = input('请输入带查找的初始目录:')
def changdir(file_dir):
os.chdir(file_dir)
    for each_one in os.listdir(os.curdir):
      if os.path.isdir(each_one):
            changdir(each_one)
            os.chdir(os.pardir)
      else:
            a = os.path.splitext(each_one)
            if a == '.mp4':
                file_open.writelines(os.getcwd()+os.sep+each_one)
            elif a == '.avi':
                file_open.writelines(os.getcwd()+os.sep+each_one)
            elif a == '.rmvb':
                file_open.writelines(os.getcwd()+os.sep+each_one)
file_open.close()
changdir(file_dir)
源码复制出来缩进有点问题
不知道哪错了应该怎么改,在线等大佬指导

ba21 发表于 2022-2-24 20:05:41

初始目录不要设在.py所在路径试试

isdkz 发表于 2022-2-24 20:12:14

writelines() 的参数得是列表,你把 writelines 改成 wirteline 试试

Tihool 发表于 2022-2-24 20:16:05

isdkz 发表于 2022-2-24 20:12
writelines() 的参数得是列表,你把 writelines 改成 wirteline 试试

不对啊,我最开始用writelines写的可以的

Tihool 发表于 2022-2-24 20:16:40

ba21 发表于 2022-2-24 20:05
初始目录不要设在.py所在路径试试

啊?我的理解他们是不在一个路径啊

isdkz 发表于 2022-2-24 20:17:39

Tihool 发表于 2022-2-24 20:16
不对啊,我最开始用writelines写的可以的

好吧,是我搞错了,不传入列表也是可以的

isdkz 发表于 2022-2-24 20:18:53

Tihool 发表于 2022-2-24 20:16
啊?我的理解他们是不在一个路径啊

是因为你把文件给关闭了,要把那个file_open.close()放到后面

Tihool 发表于 2022-2-24 20:26:41

isdkz 发表于 2022-2-24 20:18
是因为你把文件给关闭了,要把那个file_open.close()放到后面

哦,终于

人造人 发表于 2022-2-26 11:56:25

就是字面意思


页: [1]
查看完整版本: python操作系统课后题