2009-03-18 14 views

उत्तर

20

आप फाइल एक्सटेंशन के आधार पर कर रहे हैं, तो आप कुछ इस तरह कर सकते हैं:

import os 
directory = "C:/" 
extension = ".tga" 
list_of_files = [file for file in os.listdir(directory) if file.lower().endswith(extension)] 

जाहिर है आप कम छोड़ सकते हैं() आप के मामले की गारंटी कर सकते हैं अगर फ़ाइलें। उत्कृष्ट पथ.py (http://pypi.python.org/pypi/path.py) मॉड्यूल भी है।

आप फाइल एक्सटेंशन आप फ़ाइल डिकोडिंग द्वारा फ़ाइल प्रकार का पता लगाने के जनहित याचिका (http://www.pythonware.com/products/pil/) की तरह कुछ का उपयोग कर सकते पता नहीं है।

+0

मैंने कोशिश की यह और दूसरों, लेकिन किसी भी तरह से मुझे कुछ भी नहीं मिला। ":/दस्तावेज़ और सेटिंग्स/यूनुस/मेरे दस्तावेज़/मेरी प्राप्त फ़ाइलें/सी:" किसी भी इस के साथ समस्या यह वहाँ है विभिन्न स्वरूपों की कोशिश की, इस निर्देशिका पर? –

+0

यदि आप: (":/दस्तावेज़ और सेटिंग्स/यूनुस/मेरे दस्तावेज़/मेरी प्राप्त फ़ाइलें/सी"): प्रिंट फ़ाइल यह कुछ भी प्रिंट करता os.listdir में फ़ाइल के लिए आयात ओएस ? – Jotham

+0

क्षमा करें, टिप्पणी प्रणाली, मेरी नई-पंक्तियों ऊपर भरा हुआ है लगता है कि आशा है कि आप कर सकते हैं decypher =) – Jotham

1

>>> import os 
>>> for file in [tga for tga in os.listdir(directory) if tga.endswith(".tga")]: 
>>>  print file 
14
import glob, os 
for filename in glob.glob(os.path.join(yourPath, "*.tga")) 
    print(filename) 
2

निम्न उदाहरण filter है, जो एक सुरुचिपूर्ण समाधान प्रदान करता है का उपयोग करता है के रूप में नीचे दिखाया गया है:

import os 
files = filter(lambda x: x.endswith('.tga'), os.listdir(DIR)) 
0

मेरे टार्गा/विस्टा, अक्सर .vst और .tga है कभी कभी अन्य विस्तार:

import os 
from glob import glob 
import PIL 

filenames = [] 
for filename in glob(os.path.join(dirname, "*.*")): 
    try: 
     img = PIL.Image(filename) 
     if img.format == "TGA": 
      filenames.append(filename) 
    except IOError: // from PIL if not recognised 
     pass 
संबंधित मुद्दे

 संबंधित मुद्दे