【问题标题】:Python error: Cannot find the file specifiedPython 错误:找不到指定的文件
【发布时间】:2019-04-24 20:35:05
【问题描述】:

这是我的代码主体:

os.chdir("C:\\Users\\Desktop")

rc = subprocess.call(['7z', 'a', 'test', '-y', 'myarchive.zip'] +
                     [r'device teams.txt'])

它给了我一个指向 r'device teams.txt' 的错误,说指定的文件不存在。

我检查了目录,它在桌面目录中,所以我不确定它为什么给我这个错误

【问题讨论】:

  • 尝试使用'./device teams.txt' 并检查"C:\\Users\\Desktop" 是否正确。对于 Windows,它通常是 "C:\\Users\\<username>\\Desktop"
  • @bleand 不起作用。为此,我编辑了路径以隐藏任何敏感信息。路径确实是正确的,并且用户名后面有用户名。该文件位于正确的目录中
  • 我已经编辑了评论,请检查
  • 我认为桌面的路径会跳过用户名,你能检查一下吗?通常的路径是 C://Users////Desktop
  • 我已经编辑了我的评论,说明路径是正确的

标签: python directory subprocess 7zip


【解决方案1】:

根据您的 cmets,问题不在于 txt 文件路径,而是找不到命令 7z。您可以通过调用rc = subprocess.call(['7z']) 来检查这一点:错误The system cannot find the file specified 仍然存在。

以下是使用 PowerShell 实现相同目标的方法,例如:

import os
import subprocess
os.chdir("C:\\Users\\Username\\Desktop")
rc = subprocess.call("powershell Compress-Archive -Path 'device teams.txt' -DestinationPath archive.zip")

【讨论】:

  • 非常感谢!只有一个问题,我需要密码保护。关于如何添加它的任何想法?
  • 专门使用 PowerShell?这完全是一个不同的问题,您应该为此创建一个新帖子。任何支持密码保护的命令行 zip 实用程序都可以在这里使用。
  • 最好我想把它保存在 python 中。我将 7z 更改为 C:\\ProgramData\\Microsoft\\Windows\\Start Menu\\Programs\\7-Zip。现在错误更改访问被拒绝。我可以毫无问题地手动打开 7zip,所以我不确定为什么会收到错误
  • 这是与这篇文章完全不同的问题。这篇文章的问题已解决。我建议您为此创建一个新帖子。
  • 我很困惑 - 问题清楚地说 它给了我指向 r'device teams.txt' 的错误
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-04-20
  • 2013-11-16
  • 1970-01-01
  • 2013-07-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多