修改磁盘空间计算方法

This commit is contained in:
weixin_46229132 2025-06-14 14:13:45 +08:00
parent 57acd8b207
commit 2504ef9842
2 changed files with 16 additions and 8 deletions

View File

@ -13,3 +13,9 @@ pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
2. osgconv的compressed参数去掉会报错 2. osgconv的compressed参数去掉会报错
3. 运行指令`pyinstaller main.spec` 3. 运行指令`pyinstaller main.spec`
4. 测试执行指令`uav.exe --image_dir E:\datasets\UAV\134\project\images --output_dir G:\ODM_output\134` 4. 测试执行指令`uav.exe --image_dir E:\datasets\UAV\134\project\images --output_dir G:\ODM_output\134`
## 制作docker镜像
```bash
docker build -t uav_docker .
```

View File

@ -58,17 +58,19 @@ class DirectoryManager:
# 获取输入目录大小 # 获取输入目录大小
input_size = self._get_directory_size(self.config.image_dir) input_size = self._get_directory_size(self.config.image_dir)
# 获取输出目录所在磁盘的剩余空间 # # 获取输出目录所在磁盘的剩余空间
output_drive = os.path.splitdrive( # output_drive = os.path.splitdrive(
os.path.abspath(self.config.output_dir))[0] # os.path.abspath(self.config.output_dir))[0]
if not output_drive: # 处理Linux/Unix路径 # if not output_drive: # 处理Linux/Unix路径
output_drive = '/home' # output_drive = '/home'
disk_usage = psutil.disk_usage(output_drive) output_path = os.path.abspath(self.config.output_dir)
disk_usage = psutil.disk_usage(output_path)
free_space = disk_usage.free free_space = disk_usage.free
print(f"可用磁盘空间: {free_space / (1024**3):.2f} GB")
# 计算所需空间输入大小的10倍 # 计算所需空间输入大小的10倍
required_space = input_size * 8 required_space = input_size * 5
if free_space < required_space: if free_space < required_space:
error_msg = ( error_msg = (
@ -76,6 +78,6 @@ class DirectoryManager:
f"输入目录大小: {input_size / (1024**3):.2f} GB\n" f"输入目录大小: {input_size / (1024**3):.2f} GB\n"
f"所需空间: {required_space / (1024**3):.2f} GB\n" f"所需空间: {required_space / (1024**3):.2f} GB\n"
f"可用空间: {free_space / (1024**3):.2f} GB\n" f"可用空间: {free_space / (1024**3):.2f} GB\n"
f"在驱动器 {output_drive}" # f"在驱动器 {output_drive}"
) )
raise RuntimeError(error_msg) raise RuntimeError(error_msg)