우리는 여러 개의 리눅스 서버를 가지고 있는데, 나는 특정 리눅스 서버에서 파일과 디렉토리의 모든 세부 사항을 얻고 싶다. os.walk 기능으로이 작업을 수행 할 수 있지만 단일 파일 정보 만 저장한다는 것을 알고 있습니다. 당신은 파일에 추가보다는 (파일 내용 당신이 그것을 열 때마다 재설정하는) 그것을 작성해야 아래의 코드를 사전리눅스에서 os.walk 반복하기
1
A
답변
6
당신은 컨텍스트 관리자를 사용할 수
import os
with open('/home/david/Desktop/datafile.txt', 'w') as F:
for d in os.walk('/'):
F.write(str(d) + '\n')
4
에서
import os
for d in os.walk('/'):
F = open('/home/david/Desktop/datafile.txt', 'w')
F.write(str(d) + '\n')
F.close()
감사를 찾아주세요. 추가 모드를 사용하려면 w
대신 a
을 전달하십시오.
그러나, 그렇게 할 필요가 없습니다 - 단순히하면 파일 을 열고 쓰기보다는 파일마다 루프 반복을 처리 재 개방 유지 (즉, 시간의 엄청난 낭비!).
F = open('/home/david/Desktop/datafile.txt', 'w')
for d in os.walk('/'):
F.write(str(d) + '\n')
F.close()
당신은 또한 당신을 위해 close()
을 자동화하는 with
-statement를 사용할 수 있습니다.
with open(...) as F:
for d in ..
...
2
각 반복 내에서 동일한 파일을 재생성하는 것은 의미가 없습니다. open()을 루프 밖으로 이동하거나 append-mode 'a'를 사용하여 루프 내에서 파일을 다시 엽니 다.
2
파일 쓰기가 추가되지 않아 하나의 항목 만 가져오고 있으며 처음부터 파일을 만듭니다.
또한 os.walk()
에 대한 설명서를 참조하십시오. 방문한 각 폴더에있는 파일의 목록이 제공됩니다 :
import os
f=file(r'/home/david/Desktop/datafile.txt', 'a') # <---- Note "a"
for root, files, dirs in os.walk('/'):
f.write('Currently in: ' + root + '\n')
f.write(' '*4 + 'Files:\n')
for ff in files:
f.write(' '*8 + ff + '\n')
f.write(' '*4 + 'Folders:\n')
for ff in dirs:
f.write(' '*8 + ff + '\n')
관련 문제
- 1. os.walk with regex
- 2. os.walk 아래의 디렉토리를 파기하지 않고
- 3. 파이썬에서리스트를 반복하기.
- 4. JSTL로지도 반복하기
- 5. os.walk()로 파일을 찾을 수 없습니다
- 6. NHibernate join 반복하기
- 7. iphone : 변환 반복하기
- 8. mkmapviewoverlay에서 UIImage 반복하기
- 9. Returned jQuery 데이터 반복하기
- 10. 안드로이드에서 ListView 아이템 반복하기
- 11. std 대기열을 통해 반복하기
- 12. 정규 표현식 그룹 반복하기
- 13. 접두어를 통해 파이썬으로 반복하기
- 14. 이미지 디렉토리를 통해 반복하기
- 15. JSON 배열을 통해 반복하기
- 16. 레일 열에서 반복하기
- 17. jQuery로 XML 반복하기
- 18. 리피터에서 컨트롤 반복하기
- 19. CSS의 이미지 섹션 반복하기
- 20. jQuery 함수 위로 반복하기
- 21. ActionScript3에서 비디오 버퍼 반복하기
- 22. Django에서 데이터베이스 컬럼 반복하기
- 23. Python에서 여러리스트 반복하기
- 24. Ibatis에있는 객체 목록 반복하기
- 25. 지도를 따라 반복하기
- 26. Jquery에서 Json 반복하기
- 27. jQuery에서 결과 반복하기
- 28. Windows Form에서 컨트롤 반복하기
- 29. haskell에서 배열 반복하기
- 30. 파이썬에서 데이터 세트 반복하기