Python golang 获取指定目录可用空间的大小

  1. python
import os
import platform
import ctypes
def get_free_space_k(dirpath):
    """
    获取目录剩余空间
    :param dirpath:  目录路径 例如 D:\\
    :return: 剩余空间 单位 k
    """
    if platform.system() == 'Windows':
        _free_bytes = ctypes.c_ulonglong(0)
        ctypes.windll.kernel32.GetDiskFreeSpaceExW(ctypes.c_wchar_p(dirpath), None, None, ctypes.pointer(_free_bytes))
        return _free_bytes .value / 1024
    else:
        st = os.statvfs(dirpath)
        return st.f_bavail * st.f_frsize / 1024 

get_free_space_k(r"/root")
  1. golang
package main

import (
    "fmt"
    "os"
    "syscall"
    "time"
)

func get_free_space_k() uint64 {
	var stat syscall.Statfs_t
    wd, _ := os.Getwd() // 获取目录
    syscall.Statfs(wd, &stat)
    // size := fmt.Sprintf("%.f", float64(stat.Bavail * uint64(stat.Bsize)) / 1024 / 1024 / 1024) G
   size :=stat.Bavail * uint64(stat.Bsize) // k
   return size
}

get_free_space_k()
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值