# -*- coding: utf-8 -*-

import os
import DataProcess

def Read_fileName(nowPath):
    '''
    搜索指定目录下的 txt 文件,显示出文件基本名
    :param nowPath: 指定目录
    :return: 文件名列表
    '''
    fileList = []
    os.chdir(nowPath)  # 修改为.py文件所在目录(当前目录)

    for files in os.listdir(nowPath):
        if files.endswith('.txt'):
            fileList.append(os.path.join(files))
    for i in range(len(fileList)):
        print('{:d}--'.format(i+1) + fileList[i])
    return fileList


def Output_endTxt(fileList):
    '''
    输入指定文件,进行分词,统计,并输出Sort.txt文件
    :param fileList: 文件名列表
    :return: Sort.txt文件
    '''
    f = None
    try:
        fileName = fileList[int(input('请输入列表中文件的序号:'))-1]
        f = open(fileName , 'r', encoding='utf-8')

        # 创建目录存放结果
        newPath = DataProcess.Create_path()
        # 分词 --> Jieba.txt
        DataProcess.Jieba(fileName,newPath)
        # Jieba.txt --> Sort.txt
        DataProcess.Sort(DataProcess.Account(DataProcess.Turn()))

    except IndexError or ValueError or FileNotFoundError:
        print('无法打开指定文件,请重新输入!')
        Output_endTxt(fileList)
    finally:
        if f:
            f.close()