美文网首页
统计文件个数及非负数之和

统计文件个数及非负数之和

作者: 唐僧取经 | 来源:发表于2019-06-25 09:59 被阅读0次

问题描述:

定义文件 xx.tar.gz 的产生方式如下:
• 以 xx 为文件名的文件通过 tar 和 gzip 打包压缩产生,该文件中以字符串的方式记录
了一个非负整数;
• 或者以 xx 为名的目录通过 tar 和 gzip 打包压缩产生,该目录中包含若干 xx.tar.gz。
其中,x ∈ [0, 9]。现给定一个根据上述定义生成的文件 00.tar.gz ,请确定其中包含的以 xx 为文件名的文件个数以及这些文件中所记录的非负整数之和。

import os
import tarfile

root_dir = "/Users/chelsea/Desktop/00"
result = 0
Num = 0

def unpack_path_file(parentdir, file_name):
    archive = tarfile.open(parentdir + "/" + file_name, "r:gz",encoding='gbk')
    for tarinfo in archive:
        archive.extract(tarinfo, parentdir)
    archive.close()

def search_folder(parent_dir):
    global result,Num
    for file_name in os.listdir(parent_dir):
        if os.path.isfile(parent_dir + "/" + file_name) and file_name.find(".tar.gz") != -1:
            unpack_path_file(parent_dir, file_name)
    for file_name in os.listdir(parent_dir):
        if os.path.isfile(parent_dir + "/" + file_name) and file_name.find(".tar.gz") == -1:
            temp_file = open(parent_dir + "/" + file_name,encoding='gbk',errors='ignore')
            number = temp_file.read()
            temp_file.close()
            result = result + int(number)
            Num = Num + 1
    for dir_name in os.listdir(parent_dir):
        if os.path.isdir(parent_dir + "/" + dir_name):
            search_folder(parent_dir + "/" + dir_name)
search_folder(root_dir)
print("Sum:" + str(result))
print("fileCount:" + str(Num))


相关文章

  • 统计文件个数及非负数之和

    问题描述: 定义文件 xx.tar.gz 的产生方式如下:• 以 xx 为文件名的文件通过 tar 和 gzip ...

  • 从输入任意个整型数,统计其中的负数个数并求所有非负数的平均值,结

    从输入任意个整型数,统计其中的负数个数并求所有非负数的平均值,结果保留一位小数,如果没有非负数,则平均值为0 本题...

  • Linux--常用命令总结(loading)

    基于centos7 统计文件或文件夹个数 统计当前文件夹下文件个数,当前文件夹下只能是文件 统计当前文件下及所有子...

  • Linux常用命令

    1.Linux基础命令 Linux 统计文件夹下文件个数及目录个数 scp命令格式

  • 2020-05-31记负均正II

    题目描述从输入任意个整型数,统计其中的负数个数并求所有非负数的平均值,结果保留一位小数输入描述:输入任意个整数输出...

  • 计数质数

    统计所有小于非负整数 n 的质数的数量。 示例: 思路 这道题给定一个非负数n,让我们求小于n的质数的个数,题目中...

  • ubuntu下统计目录下的文件个数和快速删除

    统计目录下的文件个数不包含文件夹: 统计目录下的文件个数包括子目录: 统计目录下文件夹(目录)的个数: 统计某种文...

  • 统计文件个数

    1.【linux命令】 统计一个文件夹下有多少个文件 python实现:非递归,只能查询到当前文件夹下的,不能查询...

  • linux|wc统计行数

    wc是什么?统计行数利器(例如可以统计文件的行数,进程的个数)。为什么使用wc?方便统计文本及进程等信息。怎么用?...

  • Excel_函数_counta

    用途:统计某一列数据非空值的个数 方法:counta(要统计的列) 案例: 统计”数学“列,非空的个数 引深: 找...

网友评论

      本文标题:统计文件个数及非负数之和

      本文链接:https://www.haomeiwen.com/subject/hmgzqctx.html