Python从当前文件夹中读取文件

时间:2014-01-28 15:02:25

标签: python matplotlib

我用matplotlib写了一些fit查看器。现在我有一个问题。当我开始编写脚本时,我从当前文件夹中读取带有后缀.fts的数据文件。例如,

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 个答案:

答案 0 :(得分: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']

答案 1 :(得分: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

的文件列表