python3中为什么os.path.getsize()获取的大小和windows资源管理器里文件大小不一致

python3中为什么os.path.getsize()获取的大小和windows资源管理器里文件大小不一致,第1张

ospathgetsize()返回的是path的大小,path如果是一个文件,那么就是文件大小;如果是文件夹,那么就是文件夹大小,文件夹大小是指文件夹这个数据结构在文件系统中占用的大小,NTFS文件系统中一个簇通常是4096字节,一个文件夹占用一个簇,所以NTFS中任何一个文件夹的大小都是4096字节。

使用ospathgetsize 获取文件大小

使用 file_objseek 移动文件指针到文件末尾减一处

每次读取一个字符,并将文件指针向前移动一

代码实现如下:

#!/usr/bin/env python

# -- coding: UTF-8 --

import os

def tail_read(f, n):

    cur_pos = ftell()

    buf = b''

    while n:

        b = fread(1)

        buf = b + buf

        cur_pos -= 1

        if cur_pos < 0: break

        fseek(cur_pos)

        n -= 1

    return buf

def tail_open(file):

    fsize = ospathgetsize(file)

    f = open(file, 'rb')

    fseek(fsize - 1)

    return f

tail_open用于打开文件并移动文件指针到末尾

tail_read用于从文件末尾读取n个字符

原文地址

使用PIL模块,windows安装包下载:

>

使用方法

# coding: utf8

# 获取指定的长和宽

from PIL import Image

img = Imageopen("imgjpg")

print imgsize

运行结果:

(52, 54)

# -- coding: utf-8 --

import cv2

import os

import numpy

import cutHumanFace

def saveCutFace(filePath, pathSave = 'cutFace', normalizeWidth = 300, normalizeHeight = 300):

    """

    :param filePath: string, 文件夹路径

    """

    

    if not ospathexists(savePath):

        osmakedirs(savePath);                   #保存的文件夹

        

    files = oslistdir(filePath);                #列出目录下的所有文件

    

    normalizeWidth = 100                         #以100×100为大小

    normalizeHeight = 100

    for file in files:

        normalizeFace = cv2resize(cutFace, (normalizeWidth,normalizeHeight), interpolation=cv2INTER_AREA);

        cv2imwrite(savePath, normalizeFace);

以上就是关于python3中为什么os.path.getsize()获取的大小和windows资源管理器里文件大小不一致全部的内容,包括:python3中为什么os.path.getsize()获取的大小和windows资源管理器里文件大小不一致、Python读文件能从后往前吗、Python如何获取图片长宽等信息等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9614948.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-30
下一篇2023-04-30

发表评论

登录后才能评论

评论列表(0条)

    保存