列出目录中的所有文件,然后使用命令行选择一个要使用的文件-Python

列出目录中的所有文件,然后使用命令行选择一个要使用的文件-Python,python,command-line,Python,Command Line,我使用for循环列出并打印数据目录中的所有图像文件。现在,我希望能够使用命令行选择一个文件并继续进行图像分析。任何建议都会有帮助。这是我目前的节目 def find_fits_files(data_dir): """Creates image path in data directory. Args: data_dir(str, required): Directory which contains FITs. images

我使用for循环列出并打印数据目录中的所有图像文件。现在,我希望能够使用命令行选择一个文件并继续进行图像分析。任何建议都会有帮助。这是我目前的节目

def find_fits_files(data_dir):
    """Creates image path in data directory.

        Args:
            data_dir(str, required):    Directory which contains FITs. images

        Returns:
            image_path(str):    Path to fits. image
            file(srt):    file name
    """
    cwd = os.getcwd()
    os.chdir(data_dir)
    for file in glob.glob("*.fits"):
        print('File name: ' + file)
    os.chdir(cwd)
    image_path = os.path.join(data_dir, file)
    return image_path, file

请更正代码缩进。另外,您可以展开“选择一个文件”吗?这个文件是如何选择的?不要使用
chdir
。在您的
glob中使用
os.path.join
call@Jean-如果我的脚本在一个目录中,数据在另一个目录中,而这个目录不是我脚本目录的子目录,那么os.path.join将如何工作?我还听说在程序中更改目录是不明智的,这是真的吗?嗨@jpp!我是一个完全的初学者,所以我不确定我的缩进有什么问题。我的目标是列出data_dir中的所有文件,然后使用命令行选择要添加到我的image_路径的特定文件。这样,只会进一步处理所选文件。通常,您会将要处理的文件作为命令行参数传递到脚本中,而不是以交互方式请求它。通过这种方式,您可以使用标准命令行工具(如Linux/Mac/BSD上的“ls”和Windows上的“dir”)列出文件。