我在目录中有一些txt文件,我需要从所有这些文件中获取最后15行.我怎么能用python做到这一点?
我选择了这段代码:
from os import listdir
from os.path import isfile, join
dir_path= './'
files = [ f for f in listdir(dir_path) if isfile(join(dir_path,f)) ]
out = []
for file in files:
filedata = open(join(dir_path, file), "r").readlines()[-15:]
out.append(filedata)
f = open(r'./fin.txt','w')
f.writelines(out)
f.close()
Run Code Online (Sandbox Code Playgroud)
但我收到错误"TypeError:writelines()参数必须是一个字符串序列".我认为这是因为俄罗斯的字母.
import os
from collections import deque
for filename in os.listdir('/some/path'):
# might want to put a check it's actually a file here...
# (join it to a root path, or anything else....)
# and sanity check it's text of a usable kind
with open(filename) as fin:
last_15 = deque(fin, 15)
Run Code Online (Sandbox Code Playgroud)
deque 将自动丢弃最旧的条目并将最大大小峰值设置为15,因此这是保留"最后"'n'项的有效方法.
| 归档时间: |
|
| 查看次数: |
291 次 |
| 最近记录: |