파일이름을 리스트로 만들고 파일을 하나씩 열기
글쓴이: jigu / 작성시간: 수, 2015/11/04 - 9:51오후
안녕하세요. 어제 파일 읽기랑 float만들기 질문드렸는데 오늘 하나 더 질문드립니다.
파일을 읽고 쓰는 건 다 완성해서 함수로 만들었고 GUI환경으로 만들었습니다. (디렉토리 여는 버튼 하나에 파일리스트 보여주는 박스 하나;;)
버튼을 누르면 디렉토리를 선택해서 안에 있는 파일을 텍스트박스에 출력하고 이를 gl_filelist(global 변수)라는 리스트에 넣었습니다.
filelist=list() for root, dirs, files in os.walk(dlg.GetPath()): for file in files: self.listbox.Append(file) gl_filelist.append(dlg.GetPath()+file)
그리고 이제 저 파일 리스트를 불러서 제가 만든 함수로 호출하려고 합니다.
global gl_filelist return_value=[] for fileN in gl_filelist: print(fileN) return_value=my_func.mt(fileN) print(return_value)
이렇게 하면 에러가 납니다.
IOError: [Errno 2] No such file or directory: u'C:\\Users\\Administrator\\Desktop\\LN 2015-10-28_3L V8-3 90-90-90-90-0-0_443.dat'
fileN에 절대경로를 쓰면(my_func.mt('C:/Users/Administrator/Desktop/LN 2015-10-28_3L V8-3 90-90-90-90-0-0_443.dat') 잘 열립니다.
참.. 한글 때문에 제일 윗쪽에 # -*- coding: cp949 -*- 라고 써두었습니다.
Ntemp = MutableString(fileN) print( Ntemp ) fileN.replace('\\', '/') print( Ntemp )
혹시 저렇게 바꾸면 되는지 시도해봤는데, 안되더군요.
뭐를 잘못했는 지 좀 알려주시거나 참고할 만한 링크라도 주시면 고맙겠습니다.
감사합니다.
Forums:
아.. 찾았습니다
gl_filelist.append(dlg.GetPath()+file)를
gl_filelist.append(dlg.GetPath()+"\\"_file)
로 고치니 잘 돌아가네요.
댓글 달기