BAT读取TXT文本中指定行的内容
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了BAT读取TXT文本中指定行的内容相关的知识,希望对你有一定的参考价值。
一个TXT文本,想读取1,3,5,7,9这样有规律的行的内容,设置读取行数为100行,读完第100行时结束,并将内容写到一个新的TXT里,新的TXT里没行一个数据的排列。
@echo offset n=0
setlocal enabledelayedexpansion
for /f "delims=" %%i in (123.txt) do (
set /a n+=1
set /a mod=!n!%%2
if !mod! EQU 1 set "foo=%%i"
if !mod! EQU 1 echo !foo!
)>>op.txt
start op.txt
exit 参考技术A @echo off&setlocal enabledelayedexpansion
for /f "tokens=1* delims=:" %%i in ('type a.txt^|findstr /n .')do (
if %%i==200 (pause&exit) else (set/a n=%%i%%2&if !n!==1 (>>new.txt echo %%j)))
pause
如何用python读取文本中指定行的内容
这里写个简单的,用readline即可实现,命令行带入参数1为读取的文件名,参数2为需要读取的行数。需要读取多行,你可以简单改改,例如参数带个列表,程序内用eval转化为数组之类的方法。
import sys
filename = sys.argv[1]
linenum = int(sys.argv[2])
with open(filename , 'r') as f:
line = f.readline()
n = 1
while line:
if linenum == n:
print line
break
else:
line = f.readline()
n += 1 参考技术A # readsomelines.py
# !/usr/bin/env python3
import sys
fname = 'aa.txt'
def main():
lines = [i for i in sys.argv[1:] if i.isdigit()]
with open(fname) as f:
s = f.read().split('\\n')
print('file name: , total: lines.'.format(fname, len(s)))
for i in lines:
index = int(i) - 1
content = s[index] if index < len(s) else ''
print('line : '.format(i, content))
main()$ python readsomelines.py 2 3
file name: aa.txt, total: 5 lines.
line 2: (comment line)
line 3: (atom symbol) 1 1 1
以上是关于BAT读取TXT文本中指定行的内容的主要内容,如果未能解决你的问题,请参考以下文章