2012-02-06 2 views
1

,하지만 난 둘 다 시도했다 :파일 크기는 내가 여러 파일에서 보이는 파일 크기에 따라이를 조작하는 간단한 스크립트를 작성하기 위해 노력하고있어 제로

os.stat(path + fname).st_size 

os.path.getsize(path + fname) 

하지만 모두 '0'의 결과를 반환합니다. 나는 쿠분투를 실행하고 있지만 파일 시스템은 NTFS 형식이며, 이것이 문제가 될 수 있습니까? 아니면 누군가 이런 일이 일어날 수있는 이유가 있습니까?

** 수정 **

어떻게 든 내 모든 파일이 모든 데이터의 비워진. 이를 무시하십시오. 파일 크기가 올바로보고되고 있습니다.

+0

아마도 파일 시스템과 관련이 있습니다. ext 파티션에서 제대로 작동하는지 확인해보십시오. – Polynomial

+5

실례를 묻는 나를 용서해주세요. 그러나 문제의 파일이 실제로 크기가 0이 아닌 파일입니까? – NPE

+4

셸 또는 파일 관리자를 사용하여 파일 크기를 표시하면 올바른 크기로 표시됩니까? – sepp2k

답변

1

파일 이름이 일반 문자열 인 것처럼 작성하지 마십시오. os.path 도우미 함수를 사용하십시오. 구분 기호가 누락되었거나 구분 기호가 두 개인 경우 등이 있습니다.

또한 파일 이름을 "확인"(또는 간단히 검사) 해보십시오. 혼동을 일으키는 내장 NUL 바이트가있을 수 있습니다. this comment to a different question을 참조하십시오.

+3

좋은 조언이지만 파일 이름이 문제라면 0을 반환하는 대신 stat가 실패하지 않습니까? –

+0

'os.path.getsize (os.path.join (path, fname))와 동일한 문제' – Martyn

관련 문제