# _*_ coding:utf8 _*_ ################################################################ ## 功能:遍歷XXX路徑下的一個圖片文件夾,並輸出所有路徑到一個txt文件。 ######################################################################### import os import sys def listfiles(rootDir,txtfile,label=0): #label=1 ftxtfile = open(txtfile,'w') list_dirs = os.walk(rootDir) count = 0 dircount = 0 for root, dirs, files in list_dirs: for d in dirs: #print os.path.join(root,d) #python2.x print( os.path.join(root,d) ) dircount = dircount + 1 for f in files: #print os.path.join(root,f) #python2.x print( os.path.join(root,f) ) ftxtfile.write(os.path.join(root,f)+' '+str(label)+'\n') count = count + 1 #print rootDir+"has"+str(count)+"files" print( rootDir+"has "+str(count)+" files" ) listfiles(sys.argv[1],sys.argv[2],sys.argv[3])
# sys.argv[]是用來獲取命令行參數的,sys.argv[0]表示代碼本身文件路徑,所以參數從1開始。
# Sys.argv[ ]其實就是一個列表,里邊的項為用戶輸入的參數,關鍵就是要明白這參數是從程序外部輸入的,而非代碼本身的什么地方,
# 要想看到它的效果就應該將程序保存了,從外部來運行程序並給出參數。 # sys模塊sys.argv是個列表,而sys.argv[0]、sys.argv[1]、sys.argv[2]只不過是在取列表中的值,但這個列表有我們決定。 # sys.argv[0]接收的是文件名(如果運行文件和運行終端不在同一路徑下會接收其的路徑及文件名) # sys.argv[1] 接收的的在終端傳入的第一個參數 # sys.argv[2]接收的的在終端傳入的第二個參數 # python eg8-readimg2txt.py "/home/u/wp_data/learn-sh/新圖像/" "/home/u/wp_data/learn-sh/新圖像/write2txt2.txt" 0
# write2txt.txt
/home/u/wp_data/learn-sh/新圖像/cute_9.jpg 0 /home/u/wp_data/learn-sh/新圖像/cute_14.jpg 0 /home/u/wp_data/learn-sh/新圖像/cute_4.jpg 0 /home/u/wp_data/learn-sh/新圖像/cute_19.jpg 0 /home/u/wp_data/learn-sh/新圖像/cute_3.jpg 0 /home/u/wp_data/learn-sh/新圖像/cute_13.jpg 0 /home/u/wp_data/learn-sh/新圖像/write2txt.txt 0 /home/u/wp_data/learn-sh/新圖像/cute_16.jpg 0 /home/u/wp_data/learn-sh/新圖像/cute_5.jpg 0 /home/u/wp_data/learn-sh/新圖像/cute_1.jpg 0 /home/u/wp_data/learn-sh/新圖像/cute_8.jpg 0 /home/u/wp_data/learn-sh/新圖像/cute_18.jpg 0 /home/u/wp_data/learn-sh/新圖像/cute_11.jpg 0 /home/u/wp_data/learn-sh/新圖像/cute_10.jpg 0 /home/u/wp_data/learn-sh/新圖像/cute_17.jpg 0 /home/u/wp_data/learn-sh/新圖像/cute_15.jpg 0 /home/u/wp_data/learn-sh/新圖像/cute_7.jpg 0 /home/u/wp_data/learn-sh/新圖像/cute_2.jpg 0
遇到問題: