gpt4 book ai didi

python - Linux 脚本创建目录结构

转载 作者:太空宇宙 更新时间:2023-11-04 04:04:25 25 4
gpt4 key购买 nike

我正在尝试创建一个用于图像上传的目录结构,如here所述。 ,结果应该是这样的:

upload/
00/00/00/
...
00/00/ff/
...
00/ff/ff/
...
ff/ff/ff/

所以我写了扁平的Python脚本:

ROOT = '/var/upload'

for a in xrange(0, 256):
for b in xrange(0, 256):
for c in xrange(0, 256):
os.makedirs(os.path.join(ROOT, format(a, '02x'), format(b, '02x'), format(c, '02x')))

得到:

...
os.makedirs(os.path.join(ROOT, format(a, '02x'), format(b, '02x'), format(c, '02x')))
File "/usr/lib64/python2.7/os.py", line 157, in makedirs
mkdir(name, mode)

OSError: [Errno 28] No space left on device: '/var/upload/2e/04/cd'

我尝试了其他位置 - '/opt/upload' ,结果相同。但有足够的空间并且没有配额:

[root@sky /]# df
/dev/mapper/rfremix_sky-root 51475068 23006628 25830616 48% /
devtmpfs 2016520 0 2016520 0% /dev
tmpfs 2024048 2064 2021984 1% /dev/shm
tmpfs 2024048 500 2023548 1% /run
tmpfs 2024048 0 2024048 0% /sys/fs/cgroup
tmpfs 2024048 32 2024016 1% /tmp
/dev/sda1 487652 90139 367817 20% /boot
/dev/mapper/rfremix_sky-home 424460680 47830948 355045248 12% /home

[root@sky /]# repquota /
repquota: Mountpoint (or device) / not found or has no quota enabled.
repquota: Not all specified mountpoints are using quota.
[root@sky /]#

系统:

[root@sky /]# uname -a
Linux sky.dep1 3.12.10-300.fc20.x86_64 #1 SMP Thu Feb 6 22:11:48 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
[root@sky /]# python --version
Python 2.7.5
[root@sky /]#

那么,问题:我做错了什么?

或者也许有其他关于 bash、perl 等的解决方案,具有更好的性能(256**3 = 16.777.216 文件夹)?

更新(托马斯·奥罗斯科):

[root@sky /]# df -i
Файловая система Iнодов IИспользовано IСвободно IИспользовано% Cмонтировано в
/dev/mapper/rfremix_sky-root 3276800 3276800 0 100% /
devtmpfs 504130 422 503708 1% /dev
tmpfs 506012 13 505999 1% /dev/shm
tmpfs 506012 504 505508 1% /run
tmpfs 506012 13 505999 1% /sys/fs/cgroup
tmpfs 506012 41 505971 1% /tmp
/dev/sdb3 164849116 96453 164752663 1% /mnt/win
/dev/sda1 128016 380 127636 1% /boot
/dev/mapper/rfremix_sky-home 26968064 218284 26749780 1% /home
tmpfs 506012 4364 501648 1% /home/chip/.chrome/ramdisk
[root@sky /]#

最佳答案

正如 @Ricardo Cárdenes 所说 - 异常原因 - 文件系统中 inode 数量的限制。在另一个具有足够 inode 的挂载点(在我的例子中为/home) - 该脚本运行良好。

对我来说合适的解决方案,正如 @Krumelur 所说 - 根据需要创建目录。

谢谢大家!

关于python - Linux 脚本创建目录结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21809723/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com