파이썬 초보자로서 저는 파일을 옮기는 실제 문제가 있습니다. 아래 스크립트는 필자가 마침내 선택한 파일을 새로운 폴더로 옮기는 작업을 마침내 만든 스크립트입니다 (!). 내가 짐작할 수없는 몇 가지 이유 때문에, 한 번만 작업 한 다음 대상 폴더가 실제로 이상하게 생성되었습니다. 한순간에 정확한 이름을 가진 알려지지 않은 응용 프로그램 인 '디렉토리'를 만들었으며 다른 경우에는 무작위로 보이는 파일을 사용하여 텍스트 파일을 만들어 콘텐츠를 생성했습니다. 다시 파일 이름이 올바르게 지정되었습니다. 내가 만든 폴더를 삭제하고 다시 실행하려고 내가 그렇게하기 위해 무엇을 할 수 있는지 때이 스크립트를 재현 할 수없는 이유를shutil.copy는 한 번만 작동합니다.
이#!/usr/bin/python
import os, shutil
def file_input(file_name):
newlist = [] #create new list
for names in os.listdir(file_name): #loops through directory
if names.endswith(".txt") or names.endswith(".doc"): #returns only extensions required
full_file_name = os.path.join(file_name, names) #creates full file path name - required for further file modification
newlist.append(full_file_name) #adds item to list
dst = os.path.join(file_name + "/target_files")
full_file_name = os.path.join(file_name, names)
if (os.path.isfile(full_file_name)):
print "Success!"
shutil.copy(full_file_name, dst)
def find_file():
file_name = raw_input("\nPlease carefully input full directory pathway.\nUse capitalisation as necessary.\nFile path: ")
file_name = "/root/my-documents" #permanent input for testing!
return file_input(file_name)
'''try:
os.path.exists(file_name)
file_input(file_name)
except (IOError, OSError):
print "-" * 15
print "No file found.\nPlease try again."
print "-" * 15
return find_file()'''
find_file()
누군가가 말해 주시겠습니까 :
여기에 관련 스크립트입니다?
나는 조금 지저분하다는 것을 알고있다. 그러나 이것은 더 큰 스크립트의 일부가 될 것이고 나는 아직 초안 단계에있다!
많은 감사
'if (os.path.isfile (full_file_name)) :'대상 파일의 존재를 확인합니다. BTW, 코드 정리! 이상한 이름, 불필요한 괄호, 이유없는 '반환'... '조금 지저분하지'않은 것은 엉망입니다. – Matthias
아니요 소스 파일을 검사하지 않습니다. file_name은 수정되지 않았으며 이름도 – praveen
입니다. Matthius를 혼동하면 죄송합니다. 내가 말했듯이, 그것은 일하는 데있어 대충 쓴 것이다. 네가 맞아. 일을 더 명확하게하기 위해 게시하기 전에 정리해야 해. 불필요한 많은 비트와 '이상한 이름'은 스크립트의이 부분과 관련이 없거나 이전의 시도를 그대로 따르도록하기 위해 존재합니다. 이것은 내가 처음으로 작성한 게시물입니다. 나는 지각에 대해 사과드립니다. – user3103208