2014-01-28 4 views
1

Я пишу некоторые приложения для просмотра изображений с помощью matplotlib. И теперь у меня есть одна проблема. Я не читал файлы данных с суффиксом .fts из текущей папки, когда начал свой сценарий. Так, например,Python-файлы для чтения из текущей папки

import pyfits 
import numpy as np 
import matplotlib.pyplot as plt 
from matplotlib.widgets import Button 


image_list=['sun0001.fts','sun0002.fts','sun0003.fts','sun0004.fts','sun0005.fts','sun0006.fts','sun0007.fts','Moon0005.fts'] 

image_list Я сделал вручную. Но теперь я хочу использовать какой-то скрипт, который читает автоматические файлы из папки, как видите.

Спасибо за ответ

ответ

2

использования glob модуля, например, если я хочу, чтобы найти файлы JPEG в моем текущем каталоге:

In [180]: from glob import glob 

In [181]: glob('*.jpg') 
Out[181]: 
['IMG_20130626_193201.jpg', 
'IMG_20130926_191134.jpg', 
'IMG_20130926_191143.jpg', 
'IMG_20130926_191157.jpg'] 
+0

Это он !! Большое спасибо –

+0

@FrantaKonopnik;) – zhangxaochen

1

Вы можете написать свой собственный сценарий для этого.

import os 

def get_files(ext): 
    result = list() 

    # Get the length of extension 
    n = len(ext) 

    # Get the current working directory 
    currdir = os.getcwd() 

    # List files and directories in the directory 
    l = os.listdir(currdir) 

    # Iterate on the list 
    for i in l: 
     # Check if this is a file and not a directory 
     if os.path.isfile(os.path.join(currdir, i)): 
      # Get last n + 1 characters of file name 
      chars = i[-n-1:] 

      if chars == ('.' + ext): # We got one 
       result.append(i) 

    return result 

Вы вызываете эту функцию как get_files("jpg") и возвращает список файлов с расширением .jpg

Смежные вопросы