在学习机器学习实战的时候,发现网上下载的数据集存在问题,编码格式不对,但是文件夹有点多操作起来不太方便,所以这里就写了一个脚本来批量修改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命令即可。