1. 程式人生 > >python讀取指定路徑下的所有檔案----比賽之後(備忘錄)

python讀取指定路徑下的所有檔案----比賽之後(備忘錄)

之前的比賽要求讀取指定路徑下的文字檔案,列印其資訊。

如果按下回車就繼續下一個,如果按下esc就退出。

getFiles可以獲取指定路徑下的所有CSV檔案。可以自己修改,加上遞迴更可以深度遍歷所給路徑下的包括子路徑下的檔案。

獲取檔案型別也可以自己修改。

再提一點,這段程式在python.exe執行很正常  但是在pycharm由於編譯器的問題導致esc不管用。。。

# --coding:utf-8-- #

import msvcrt
import sys
import os
reload(sys)
sys.setdefaultencoding('utf-8')

environment_code_type=sys.getfilesystemencoding()


raw_input()
def getFiles(path,resultFiles):
    if os.path.exists(path):
        for root,dirs,files in os.walk(path):
            for file in files:
                if str(file).endswith('.csv'):
                    resultFiles.append(os.path.join(root,file))
Files=[]
getFiles('E:/ftpfiles',Files)
for f in Files:
    ff = open(f)
    print(ff.read())
    print('開啟檔案成功\n如果繼續讀取下一個檔案請按下enter\n如果想退出請按下esc.'.decode('utf-8').encode(environment_code_type))
    a = msvcrt.getch()
    if(a==''):
        continue
    if ord(a)==27:
        break