#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Date : 2018-01-05 16:12:27
# @Author : Your Name (you@example.org)
# @Link : http://example.org
# @Version : 3.6.1
import fileinput
import linecache
def delete_firstline(file_path):
"""
删除文本的第一行数据
Args:
path: 文件的绝对路径
"""
# 用linecache读取文件内容 (1G大小的文件,效率还可以), 每一行为列表中的一个元素
line_str = linecache.getlines(file_path)
# 加上参数inplace=1, 则会直接操作文件
line_object = fileinput.input(file_path, inplace=1)
for line in line_object:
# 判断是否是第一行或者空行
if not fileinput.isfirstline() and len(line.split()) != 0:
# filelineno() 返回当前读取的行的行号
if fileinput.filelineno() == len(line_str):
print(line.replace('\n', ''), end='')
else:
print(line.replace('\n', ''))
fileinput.close()
def delete_lines(file_path, num):
"""
删除文本的多行数据
Args:
path: 文件的绝对路径
"""
# 用linecache读取文件内容 (1G大小的文件,效率还可以), 每一行为列表中的一个元素
line_str = linecache.getlines(file_path)
# 加上参数inplace=1, 则会直接操作文件
line_object = fileinput.input(file_path, inplace=1)
for line in line_object:
if fileinput.filelineno() > num and len(line.split()) != 0:
if fileinput.filelineno() == len(line_str):
print(line.replace('\n', ''), end='')
else:
print(line.replace('\n', ''))
fileinput.close()
def query_firstline(file_path):
"""
查询文本的第一行数据
Args:
path: 文件的绝对路径
"""
line_object = fileinput.input(file_path)
first_value = ''
for line in line_object:
if fileinput.isfirstline():
first_value = line
if len(fileinput.filename().split('-')) >= 2:
print(fileinput.filename().split('-')[-2] + ': ' + first_value.replace('\n', ''))
else:
print(fileinput.filename().replace('\\', '/').split('/')[-1] + ': ' + first_value.replace('\n', ''))
fileinput.close()
def query_lines(file_path, num):
"""
查询文本的多行数据
Args:
path: 文件的绝对路径
"""
line_object = fileinput.input(file_path)
first_value = ''
for line in line_object:
if fileinput.lineno() <= num:
first_value = line
if len(fileinput.filename().split('-')) >= 2:
print(fileinput.filename().split('-')[-2] + ': ' + first_value.replace('\n', ''))
else:
print(fileinput.filename().replace('\\', '/').split('/')[-1] + ': ' + first_value.replace('\n', ''))
fileinput.close()
def test():
path = 'E:/TaiheiotProject/TestingDocument/Jmeter/csv/Saas平台-1.17版本优化功能'
files = ['/吉林单品抽奖/JL20180127001-长白山(本色)(盒)-吉林.txt',
'/吉林单品抽奖/JL20180127002-长白山(心归)(盒)-吉林.txt',
'/吉林单品抽奖/JL20180127003-长白山(记忆.1999)(盒)-吉林.txt',
'/吉林单品抽奖/JL20180127004-长白山(777)(盒)-吉林.txt',
'/吉林单品抽奖/JL20180127005-长白山(福袋)-吉林.txt',
'/吉林单品抽奖/JL20180127006-长白山(软红)(条)-吉林.txt',
'/陕西天赋细支/SX20180127002-别动我的-天赋细支-陕西.txt',
'/陕西延安/SX20180127001-别动我的-延安1935-陕西.txt',
'/陕西招财猫1600/SX20180127003-别动我的-招财猫-陕西.txt'
]
for file in files:
file_path = path + file
query_firstline(file_path)
# delete_firstline(file_path)
# query_lines(file_path, 5)
# delete_lines(file_path, 5)
if __name__ == '__main__':
test()
网友评论