批量按文件名前缀追加到某文件
【问题】
当前路径下有 12345.txt 12346.txt 2013070312345.txt 2013070312346.txt
希望用python 运行一下程序将12345.txt的内容全部追加到2013070312345.txt里面,12346.txt的内容追加到2013070312346.txt 里面 以此类推。
求大神帮忙!
楼主又在其他楼回复:
我意思是如果有上百个类似的文件,怎么去让程序判断要追加的是哪个文件,比如2013070312345.txt 的内容只能追加到12345.txt里面,2013070312346.txt里面的内容只能追加到12346.txt里面,2013070312347.txt到12347.txt里面 求代码
【回答】
使用python需要首先通过listdir获取该目录所有文件(名),然后循环筛选出文件名长度大于9的所有TXT,而后通过文件读写操作实现追加写,由于python对文件操作的支持过于底层,完成没问题,但代码比较繁琐。
这种场景使用SPL完成会更简单,几行代码即可:
A |
B |
|
1 |
=directory("E:\\test").select(len(~)>9) |
|
2 |
for A1 |
=file("E:\\test\\"+ right(A2,9)).read() |
3 |
=file("E:\\ test\\"+ A2).write@a(B2) |
A1:筛选出文件名长度大于9的所有TXT。
A2-B3:循环读取A1中文件名,先读取对应短文件名的txt中的内容再追加到长文件名的txt中。