1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
| import os import re import sys import shutil
def getAllFiles(path): allFilesPath = dict() allFilesRelativeDirs = dict() for root, dirs, files in os.walk(path): for file in files: allFilesPath[file] = os.path.join(root, file) allFilesRelativeDirs[file] = os.path.relpath(root) return (allFilesPath,allFilesRelativeDirs)
def disposeFile(fileName,mdFile): with open(mdFile, 'r', encoding='utf-8') as file: content = file.read() content = re.sub(r'\[#\]\(.*\) ', '', content) content = re.sub(r'^[\n\s\S]*={15}','# ' + fileName.split('.')[0], content) content = re.sub(r'TIP\n', '', content) content = re.sub(r'上次更新时间[\n\s\S]*', '', content) content = re.sub(r'```\n<', '```html\n<', content) content = re.sub(r'```\n/', '```javascript\n/', content) content = re.sub(r'```\nvar', '```javascript\nvar', content) content = re.sub(r'```\nc', '```javascript\nc', content) content = re.sub(r'```\nlet', '```javascript\nlet', content) content = re.sub(r'```\nimport', '```javascript\nimport', content) content = re.sub(r'```\nfunction', '```javascript\nfunction', content) content = re.sub(r'```\n{', '```json\n{', content) content = re.sub(r'```\n"', '```json\n"', content) content = re.sub(r'```\n#', '```shell\n#', content) return content
def processFiles(filesPath, path,outputDir): for fileName,fileRealPath in filesPath.items(): outputNewDir = os.path.join(path,'处理结果',outputDir[fileName]) if not os.path.exists(outputNewDir): os.makedirs(outputNewDir) if fileName.endswith('.md'): content = disposeFile(fileName,fileRealPath) outputNewPath = os.path.join(outputNewDir,fileName) with open(outputNewPath, 'w', encoding='utf-8') as output_file: output_file.write(content) print(os.path.basename(fileName) + "\t==已完成==") else: if fileName.find("bulletin-box"): shutil.copy(fileRealPath,outputNewDir)
def main(): if len(sys.argv) > 1: path = sys.argv[1] else: path = os.getcwd() allFilesPath,allFilesRelativeDirs = getAllFiles(path) processFiles(allFilesPath,path,allFilesRelativeDirs)
if __name__ == '__main__': main()
|