【发布时间】:2021-09-26 20:10:49
【问题描述】:
我正在尝试重命名驱动器卷标,但如果标签包含空格,则会出现错误
import subprocess
subprocess.run(['label', 'L:test 1'])
产生此错误:
访问被拒绝,因为您没有足够的权限或 磁盘可能被另一个进程锁定。 您必须调用在提升模式下运行的此实用程序 并确保磁盘已解锁。
如果我删除空格subprocess.run(['label', 'L:test1']),代码可以正常工作
如何在标签中添加空格?
【问题讨论】:
-
你能从命令行让它工作吗?这似乎是一个“如何使用计算机”的问题,而不是一个编程问题。
-
是的。如果我使用 DOS 命令:“label L:test 1”,它可以正常工作。如果我右键单击,在 Windows 中“重命名”并将其重命名为“测试 1”,它也可以工作。例如,我尝试了许多技巧来使用“//”转换“”空格字符,但它不起作用。如果您复制粘贴代码并自己在虚拟 USB 驱动器上尝试,则会引发错误。由于这个原因,我相信它是一个 python 语法错误或子进程的限制
-
您是否尝试添加
" "-'"L:test 1"'?或者它应该是带有 \ 或 \\ 而不是 // 的空格 - 至少在 LInux 命令上,当名称有空格时我必须使用 \。 -
是的,我试过了: subprocess.run(['label', "'L:test 1'"]) subprocess.run(['label', '"L:test 1"']) subprocess.run(['label', '"L:test\ 1"']) subprocess.run(['label', '"L:test\\ 1"']) subprocess.run(['label', '"L:test\\1"']) subprocess.run(['label', r'"L:test\\1"']) subprocess.run(['label', r'"L:test\ \1"']) subprocess.run(['label', r'L:test\\1']) subprocess.run(['label', r'L:test\\ 1']) subprocess.run( ['label', r'"L:test 1"']) 它们不起作用
标签: python subprocess disk