yixiaozi 发表于 2021-1-25 20:22

生成文件树,适合给数据做快照使用

本帖最后由 yixiaozi 于 2021-1-25 20:24 编辑

初学Python,有想把NAS中的文件存成文件树的形式,一个方便检索,另一个也可以做个备份。
def list_files(startpath,exceptDirs):
    file = open(os.path.join(startpath,os.path.basename(startpath)+time.strftime('%Y-%m-%d %H%M%S',time.localtime(time.time()))+".txt"), "w")
    file.flush()
    for root, dirs, files in os.walk(startpath, topdown=True):
      #排除文件夹
      
      level = root.replace(startpath, '').count(os.sep)
      indent =' '*4* (level-1)+'|'+'_' * 4
      file.writelines('{}{}/'.format(indent, os.path.basename(root)))
      file.writelines("\n")
      subindent = ' '*4* (level-1)+'|'+" "*6+"|"+"_"*4
      for f in files:
            file.writelines('{}{}'.format(subindent,f))
            file.writelines("\n")
    file.close()

有NAS的用户可以在计划任务中,具体配置如(第二个参数是排除的文件夹,也可以选择不写):
python"/volume3/Code/NAS/pyTree.py" "/volume4/TEST"
python"/volume3/Code/NAS/pyTree.py" "/volume4/TEST" ["#recycle","@eaDir"]

其他系统任务同样可以使用啊,作为文件快照是很好的方式。

链接: https://pan.baidu.com/s/13vLEEql1oGMNyHwsWjr8Yg 提取码: fruf

wangyujie96 发表于 2021-1-25 20:33

命令tree就可以了啊,cmd下执行。如果需要导出就加上重定向符号 >1.txt

紫色叶景 发表于 2021-1-25 20:49

感谢楼主分享 正需要这个软件

buxinren 发表于 2021-1-25 21:02

没怎么看懂

yixiaozi 发表于 2021-1-25 21:07

wangyujie96 发表于 2021-1-25 20:33
命令tree就可以了啊,cmd下执行。如果需要导出就加上重定向符号 >1.txt

尴尬了,window的tree命令是很好用。不过NAS或有些Linux中不自带tree工具,自己写个,就当练手了。。
谢谢提醒!!
页: [1]
查看完整版本: 生成文件树,适合给数据做快照使用