由於最近一直須要得到一個文件下的全部圖片的名稱,本身又老是跨平臺使用,因此把本身在不一樣環境之下使用的方法總結以下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++ 中沒有 較簡單的方法,須要本身寫程序來實現 待更新。。