无法创建目录: 没有这样的文件或目录

43

你好
我正在尝试将一个文件夹从源位置复制到目标位置,但是我遇到了以下错误:

cp: cannot create directory ‘/home/Workspace/Release/addons/’: No such file or directory

我输入了以下命令:

cp -R /home/Workspace/Dev/user1/addons/account /home/Workspace/Release/addons/

我尝试使用相同的命令在不同的文件夹中运行,结果很好。

cp -R /home/Desktop/file_transfer/f1/ff1 /home/Desktop/file_transfer/f2/


编辑:
Q2. 当我在以下代码中传递命令时:

import os
import re
dest = "/home/Workspace/Release/addons/"
root = "/home/Workspace/Dev/user1/addons/"
f = open("/home/appslab/Desktop/main/FTP/release.conf.text", 'r')
for line in f:
    filepath = root+line
    command = "cp -R "+str(filepath)+"\ "+str(dest)
    print(command)
    os.system(command)

我遇到了以下错误:

~/Desktop/FTP$ sudo python oswalk.py
cp -R /home/appslab/Workspace/PythonDevserver/appslab/addons/account
 /home/appslab/Workspace/PythonRelease/addons
cp: missing destination file operand after ‘/home/appslab/Workspace/PythonDevserver/appslab/addons/account’
Try 'cp --help' for more information.
sh: 2: /home/appslab/Workspace/PythonRelease/addons: Permission denied

我传递给 os.system()command,其中 dest 出现在下一行。
有人能告诉我问题出在哪里吗?
谢谢。
编辑2:
该目录的权限:

drwxrwxr-x 363 user1 user1  16384 Sep 16 21:57 addons

编辑3:修复Q2问题

command = `str("cp -R ")` + str(filepath)+"\ "+str(dest)

5
这与Python有什么关系? - Farhan.K
请在此处发布该目录的权限。 - Md Ashfak Chowdhury
1
我认为这个错误是正确的。你没有/home/Workspace/Release/addons目录,也没有/home/Workspace/Release/目录,所以你应该创建其中一个或两个目录。 - nos
2个回答

28

很可能是你的路径 (/home/Workspace/Release/addons/) 中至少一个目录不存在。cp命令不会创建addons目录(当然也不会创建其父目录),因此请确保该路径真正存在。

要创建该路径,您可以执行以下操作:

mkdir -p /home/Workspace/Release/addons/

1
addon目录已存在。 - ashwin mahajan
1
addon or addons? - S. de Melo

8

您遇到了“权限被拒绝”的错误。

请使用以下命令更改插件目录的权限:

sudo chmod -R 755 /home/Workspace/Release/addons/

或者在/home/Workspace/Release/目录下,执行mkdir -p home/Workspace/Release/addons/`命令可能会有所帮助。 - user2829759
是的,该目录存在。 - ashwin mahajan
谢谢,如果我手动输入命令,它可以正常工作,但是当我传递它时,命令似乎被分开并移到下一行。请参见我的问题中的Q2。 - ashwin mahajan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接