獲得一個文件夾中全部文件的名稱的幾個方法(命令指示符, 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++ 中沒有 較簡單的方法,須要本身寫程序來實現 待更新。。

相關文章
相關標籤/搜索