获得一个文件夹中全部文件的名称的几个方法(命令指示符, C++, python)

由于最近一直须要得到一个文件下的全部图片的名称,本身又老是跨平台使用,因此把本身在不一样环境之下使用的方法总结以下html


1.cmd 模式下
优势:简单
例如,我想将一个文件夹下的全部“.jpg” 图像输出到某一个“.txt”文件python

运行-cmd-Enter
如下指令便可。其中,两个位置分别为文件夹的目录 以及 目标目录
\b 表示只输出文件名,不包含其余信息。c++

dir D:\documents\data_valid\8820 /b >D:\documents\data_valid\8820\1_filelist.txtubuntu

上述获得的方法会有后缀“.jpg”.若是想不包含后缀,能够用如下方法windows

去掉文件后缀:
for /f %a in ('dir /b D:\documents\data_valid\8820*.jpg') do echo %~na>>test.txt
若是直接不指定目标目录,又没有进入目标文件夹,这种方法获得的 个人在 c盘--用户-你本身的用户名 下
最好指定一个目录函数

参考连接: http://jingyan.baidu.com/article/ed15cb1b7220061be36981fa.htmlcode


2.python
python中比较简单 ,使用 listdir 便可以获得 文件夹下全部文件名,可是 是一个list, 若是须要保存到 “.txt” 文件的话,能够尝试一下代码htm

from os import listdir

def getFileList():
    SlicePath = 'train1.txt'  # the training set
    allFileList = listdir('Training')
    output1 = open(SlicePath, 'w')
    m =len(allFileList)
    for i in range(m):
    allFileList[i] += '\n'  //ubuntu 下为\r\n             
    try:
        output1.writelines(allFileList)
    finally:
        output1.close()
         
if __name__=='__main__':

    getFileList()

上述方法在window下获得的 txt 文件中包含后缀。 若是不想包含后缀,python 中自带 split 函数,能够提取出想要的部分。图片

fileStr = FileList[i].split('.')[0]  
        FileList[i] =  fileStr + '\r\n'

在ubuntu 下使用时,若是又有可能将txt 文件在windows 下打开时,要使用'\r\n'. 不然,在windows 下打开的txt文件不换行。get


3.c++ c++ 中没有 较简单的方法,须要本身写程序来实现 待更新。。

相关文章
相关标签/搜索