【问题标题】:Python: Rename drive volume with space character in label [duplicate]Python:用标签中的空格字符重命名驱动器卷[重复]
【发布时间】: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


【解决方案1】:

试试subprocess.run(['label', 'L:test', '1'])。 它通过串联工作 - 很傻,但确实如此。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-05-31
    • 2012-11-09
    • 1970-01-01
    • 2011-08-25
    • 1970-01-01
    • 2011-03-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多