由于最近一直须要得到一个文件下的全部图片的名称,本身又老是跨平台使用,因此把本身在不一样环境之下使用的方法总结以下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++ 中没有 较简单的方法,须要本身写程序来实现 待更新。。