gpt4 book ai didi

python - 如何使用Python从USB中删除文件

转载 作者:行者123 更新时间:2023-11-28 22:39:51 24 4
gpt4 key购买 nike

尝试使用此方法删除 USB 上的文件,但行不通。在 python 中从 USB 中删除文件的最佳方法是什么。 shutil.rmtree() 我不想删除文件夹以及所有文件。

import os
import glob

os.system('mount /dev/sdb1 /media/sdb')

usb_files = glob.glob('/media/sdb/*')
for f in usb_files:
os.remove(f)

最佳答案

几乎可以肯定的是,您的 os.system 调用要么没有成功,要么您的 glob 不匹配任何东西,因此没有什么可迭代的,您应该使用 subprocess.check_call 如果调用返回非零退出状态,将引发 CalledProcessError:

from subprocess import check_call
check_call(['mount', '/dev/sdb1','/media/sdb'])

usb_files = glob.glob('/media/sdb/*')
for f in usb_files:
os.remove(f)

你应该添加一个print(usb_files)来调试,它在你自己的代码中肯定是空的,不管怎样验证你匹配的是什么。

glob 不关心你的路径是否真的存在,所以如果没有任何东西被挂载,glob 不会提示:

In [3]: print(glob.glob('/gobbledegook'))
[]

如果失败,os.system 可能会输出一个字符串,但不会引发错误:

In [5]: os.system("mount /dev/sdb1 /goobledegook")
mount: only root can do that

您可以检查系统调用是否返回 0,但通常使用子进程是更可取的方法。

关于python - 如何使用Python从USB中删除文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34355556/

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