在學習機器學習實戰的時候,發現網上下載的數據集存在問題,編碼格式不對,但是文件夾有點多操作起來不太方便,所以這裏就寫了一個腳本來批量修改txt文件的編碼格式
__author__ = 'sym'
__date__ = '19-11-26'
import os
def repair(rootDir):
for root,dirs,files in os.walk(rootDir):
for file in files:
p_rootdir = os.path.join(root, file)
print(p_rootdir)
os.system("iconv %s -f US-ASCII -t UTF-8 -o %s" % (p_rootdir,p_rootdir)) # 這裏使用了shell命令
for dir in dirs:
repair(dir)
if __name__ == '__main__':
rootdir = '/home/sym/PycharmProjects/machinelearninginaction/Ch04/email/spam' # 指定要修改權限的目錄
repair(rootdir)
其中for root,dirs,files in os.walk(rootDir):這一句作用是遍歷文件,各變量含義如下:
rootDir | 代表需要遍歷的根文件夾 |
root | 表示正在遍歷的文件夾的名字(根/子) |
dirs | 記錄正在遍歷的文件夾下的子文件夾集合 |
files |
記錄正在遍歷的文件夾中的文件集合 |
找到文件後批量使用Shell命令即可。