我是靠谱客的博主 敏感大雁,最近开发中收集的这篇文章主要介绍python合并文件代码_用python将项目中的所有代码(或txt)合并在一个文件中,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

设计模式开卷考试给的例子代码都是一个类一个java,实在太恶心了,所以写了一个python脚本.

import os

fileansdir=r'C:Userstonyson_in_the_rainDesktop笔记JAVA代码设计模式'

主要用的os库

API总结:

files=listdir(path) 显示当前目录的所有文件名和目录名

endswith() 选择扩展名

windows的路径只需要前面加一个r即可在python程序中使用

把合并的文件在当前目录保存,也可以改成某一目录保存,但是要注意名字

combine函数是一个子过程,可以把dirpath目录下的所有文件合并为一个文件

def combine(dirPath,filename):

files=os.listdir(dirPath)

res=""

i = 0

for file in files:

if file.endswith(".java"):

i+=1

title=file

with open(dirPath+'\'+file,"r")as file:

content=file.read()

file.close()

res+='nn'

res+='#### '+title

res+='nn'

res+='```n'

res+=content

res+='n```n'

with open(dirPath+'\'+filename+'.txt','w')as outFile:

outFile.write(res)

outFile.close()

然后遍历各个文件夹分别跑一遍子过程即可

import os

def EnumPathFiles(path, callback):

ii=0

if not os.path.isdir(path):

print('Error:"',path,'" is not a directory or does not exist.')

return

list_dirs = os.walk(path)

for root, dirs, files in list_dirs:

for d in dirs:

EnumPathFiles(os.path.join(root, d), callback)

dirc=path+'\'+d

print(dirc)

if(dirc.endswith('memento')):

continue

ii+=1

name=d

combine(dirc,name)

def callback1(path, filename):

print(path+'\'+filename)

EnumPathFiles(r'C:Userstonyson_in_the_rainDesktop大三上学习设计模式设计模式2018(张欣佳)', callback1)

这里会报一个错误,因为子目录对不上号的原因,不过在这之前有用的目录我们已经跑过了,所以不用管了.

L3Byb3h5L2h0dHBzL2Nkbi5tYXRocGl4LmNvbS9zbmlwL2ltYWdlcy9pdC16NlFvY1Juc3IzdUwzQktzRUxYRjJ6VlRxSGdIQlVZNng1a0xfb21NLm9yaWdpbmFsLmZ1bGxzaXplLnBuZw==.jpg

合成的md文件如下:不过是按照类名字典序排的,需要手动调整顺序

Apple.java

public class Apple implements Product

{

public void accept(Visitor visitor)

{

visitor.visit(this);

}

}

Book.java

public class Book implements Product

{

public void accept(Visitor visitor)

{

visitor.visit(this);

}

}

BuyBasket.java

import java.util.*;

public class BuyBasket

{

private ArrayList list=new ArrayList();

public void accept(Visitor visitor)

{

Iterator i=list.iterator();

while(i.hasNext())

{

((Product)i.next()).accept(visitor);

}

}

public void addProduct(Product product)

{

list.add(product);

}

public void removeProduct(Product product)

{

list.remove(product);

}

}

Client.java

public class Client

{

public static void main(String a[])

{

Product b1=new Book();

Product b2=new Book();

Product a1=new Apple();

Visitor visitor;

BuyBasket basket=new BuyBasket();

basket.addProduct(b1);

basket.addProduct(b2);

basket.addProduct(a1);

visitor=(Visitor)XMLUtil.getBean();

visitor.setName("张三");

basket.accept(visitor);

}

}

Customer.java

public class Customer extends Visitor

{

public void visit(Apple apple)

{

System.out.println("顾客" + name + "选苹果。");

}

public void visit(Book book)

{

System.out.println("顾客" + name + "买书。");

}

}

Product.java

public interface Product

{

void accept(Visitor visitor);

}

Saler.java

public class Saler extends Visitor

{

public void visit(Apple apple)

{

System.out.println("收银员" + name + "给苹果过秤,然后计算其价格。");

}

public void visit(Book book)

{

System.out.println("收银员" + name + "直接计算书的价格。");

}

}

Visitor.java

public abstract class Visitor

{

protected String name;

public void setName(String name)

{

this.name=name;

}

public abstract void visit(Apple apple);

public abstract void visit(Book book);

}

如何在一个文件中写多个Vue组件(译-有删改)

最后

以上就是敏感大雁为你收集整理的python合并文件代码_用python将项目中的所有代码(或txt)合并在一个文件中的全部内容,希望文章能够帮你解决python合并文件代码_用python将项目中的所有代码(或txt)合并在一个文件中所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(34)

评论列表共有 0 条评论

立即
投稿
返回
顶部