2016-11-02 4 views
0
내가 그 파일 내에서 파일 이름으로 Pathfile.dat이

, 나는 하나가 이미을 backuping 파일이 이미

내가 존재하지 않는 경우 파일의 백업을 복사하려고 존재하지 않는 경우 다음은

내가

/홈/관리/Pycharm가/백업/TEST1

하지

을 받고있는 것으로 보이는 오류입니다 찾았습니다 "files.is_file()이"기능에 문제가 데 /home/admin/Pycharm/backup/test 자세한 내용은 '/ 홈/관리/Pycharm가/백업/TEST1'

시도 '은 cp --help'실종 대상 파일 피연산자 : 2

CP를 찾을 수 없습니다.

SH : 2 :/홈/관리/Pycharm가/백업/: 발견되지

SH : 3 : 3 도구 : 발견되지

CP : 후 대상 파일 피연산자 누락 '/ 홈/관리/Pycharm/backup/test2 '

자세한 내용은'cp --help '를 사용해보십시오.

SH는 : 2 :/홈/관리/Pycharm가/백업/: 발견되지

SH는 : 3 : 3 도구 :

import os 
from pathlib import Path 
import logging 


filename = 'config.dat' 
Configlist = [] 

def createlist(): 
    with open(filename) as f: 
     for item in f: 
      Configlist.append(os.path.abspath(item)) 


def copy(): 
    for list in Configlist: 
     print(list) 
     files = Path(list) 
     if files.is_file(): 
      print("Found") 
     else: 
      print("not Found") 
      os.system("cp -R " + list + " /home/admin/Pycharm/backup/ " + list + "_copy ") 

createlist() 
copy() 
+0

안녕하세요, David 님, 저를 혼란스럽게합니다. 목록에 여러 파일 경로를 추가하는 경우 백업 기능 자체를 하나씩 복사 기능에 체크인하는 방법은 무엇입니까? -> 경로 (목록)가 잘못되었으므로 파일이 없습니다. 또한 os.system 명령은 올바르게 수행되지 않았기 때문에 오류가 발생합니다. 파일을 복사하려면 shutil 모듈을 사용할 수도 있습니다. –

+0

안녕하세요 마르코 복사 기능을 어디에 해결하려고 ... 감사합니다 – David

+0

다음 cp -R 잘못 .... 의미 -R, -r, - 재귀 복사 디렉터리 :-) 그냥 남자를 확인하십시오. . –

답변

1

문제없는 완벽 명확하지 않다, 그러나 거기

cp -R /yourpathfile/file /home/admin/Pycharm/backup/ /yourpathfile/file _copy 
: 당신은 당신이 os.system을 방법에 사용되는 문자열의 인쇄를 할 경우 cp 명령

와 문자열을 생성 할 방법에 확실히 문제에 대한, 당신은 이런 식으로 뭔가를 볼 수 있습니다

cp는 두 개의 인수를 입력으로 사용합니다 (소스 및 대상) 을 두 번째로 연결할 때 경로와 함께 이름을 사용하지만 파일 이름 만 필요합니다. 파일 이름으로 CONCAT 경우 그것은 당신에게 오류를 줄 것이다, 그래서

는 또한 문자열의 끝에 공간이 "/ 홈/관리자는/Pycharm은/백업 /"

나는 시도했다 이런 식으로 cp 부분을 조정하려면 개미가 작동하는 것처럼 보입니다.

import os 
from pathlib import Path 
import logging 


filename = 'config.dat' 
Configlist = [] 

def createlist(): 
    with open(filename) as f: 
     for item in f: 
      Configlist.append((os.path.abspath(item), item)) 


def copy(): 
    for (list,name) in Configlist: 
     files = Path(list) 
     if files.is_file(): 
      print("Found") 
     else: 
      print("not Found") 
      string = "cp -R " + str(list[:-1]) + " /home/admin/Pycharm/backup/"+name[:-1] + "_copy " 
      print(string) 
      os.system(string) 

createlist() 
copy() 
+0

그 점에 대해 고마워, 비슷한 일을 했어 filepath = ''.join (list) – David

관련 문제