2016-08-14 7 views
0

지정된 디렉토리에서 100kb보다 크고 * .zip으로 끝나는 파일을 반복하고 싶습니다.Python을 사용하여 파일을 선택적으로 반복하는 방법

효율적인 방법으로 어떻게이 작업을 수행 할 수 있습니까?

모든 zip 파일을 통과하지만 반드시 100kb보다 큰 파일은 제외됩니다.

for i in os.listdir(os.getcwd()): 
    if i.endswith(".zip"): 
     ##print i 
     continue 
    else: 
     continue 

if 조건에서 어떻게 통합 할 수 있습니까? 즉 (if i.endswith(".zip") and >100kb). myOtherPythonScript.py으로이 파일을 어떻게 인수로 사용할 수 있습니까? 당신이 뭔가를 시도 할 수

+3

http://stackoverflow.com/questions/2104080/how-to-check-file-size-in-python –

+1

'os.path.getsize' 편리 올 것이다 ... –

답변

1

...

for i in os.listdir(os.getcwd()): 
    if i.endswith(".zip"): 
     if os.path.getsize(i) > 10240: 
      print i 
    continue 
else: 
    continue 
+0

어떻게 하나를 것 그 if 문 내에서 파이썬 스크립트와 함께 파일로서'i'를 인자로 사용합니까? 즉'print i' 다음에'myOtherPythonScript.py'의 인수로'i'를 어떻게 사용합니까? – 3kstc

+0

이 클래스를 I를 반환하는 클래스로 만들고 myotherpythonscript.py에서 클래스를 가져와야합니다. – Lance

0

endswithos.path.getsize 원하는 두 가지 기능입니다.

import os 

file_names = [os.path.join(path, file_name) for file_name in os.listdir(path)] 
for file_name in file_names: 
    if file_name.endswith('zip') and os.path.getsize(file_name) >= 100*1024: 
     pass 
    else: 
     pass 
관련 문제