2016-10-04 19 views
7

Merhaba
Bir hedefe bir kaynaktan bir klasöre kopyalamak için çalışıyorum ama aşağıdaki hatayı alıyorum:
cp: dizin oluşturamazsınız: Böyle bir dosya veya dizin

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

aşağıdaki komutu girilen :

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

Aynı komutu farklı klasörlerle denedim ve iyi çalıştı.

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


DÜZENLEME:
S2.

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) 

aşağıdaki hatayı alıyorum: Aşağıdaki kodda komutu geçtikten sonra

~/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 

O dest yılında, os.system() geçerek am command sonraki üzerinde gösterildiğini hat.
Herkes sorunun ne olduğunu söyleyebilir mi?
Teşekkürler.
EDIT2: Bu dizinin
İzinler:

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

EDIT3: Fix for Q2:

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

Bu piton ile ilgisi var Ne:

Yapabileceğiniz yol oluşturmak için mi? –

+0

Lütfen bu dizinin iznini buraya gönderin. – Shaon

+0

Hatanın doğru olduğunu düşünüyorum. "/ Home/Workspace/Release/addons" dizini veya '/ home/Workspace/Release /' dizinine sahip olmadığınızdan, bu – nos

cevap

1

Bir permission denied hatayı alıyorsanız. kullanılarak

değiştirin eklenti dizinin izinleri

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

Or/home/Workspace/Release/dizinlerinden birini veya her ikisini de oluşturmanız gerekir. a 'mkdir -p' home/Workspace/Release/Addons/'' yardımcı olur – user2829759

+0

Evet, dizin var. – ashwinx

+0

@ashwinx: Güncellenmiş cevabımı görün. Umarım – FallAndLearn

0

yolunuzun dizinin en az bir (/ home/Çalışma Alanı/Yayın/addons /) yok çünkü muhtemelen. cp, addons dizini (tabii ki ebeveynleri) oluşturmayacaktır, bu yüzden yolun gerçekten var olduğundan emin olun.

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

'addon' dizini var. – ashwinx

+0

'addon' veya' addons'? –

+0

'addons', benim kötüyüm. Kodda doğrudur. – ashwinx