python txtファイルデータレコードファイルの一部の行の末尾の改行記号「n」を削除
2045 ワード
ブログを見るhttps://blog.csdn.net/shichunxue/article/details/80201561txtファイルを処理するときに2つのファイルを開き、元のファイルを読み、新しいファイルを作成して書きます.
そこで私は、1つのファイルだけを開いて、元のtxtファイルで直接読み書きすることができるかどうかを考えています.2つのファイルを開くのは効率が悪いのではないでしょうか.
同じファイルを処理しても、先に読んでから書くには、先に読んでから書く必要があるので、現実的には不可能です.
次に私が使うこの方法はlinecacheモジュールを使って、実際にはファイルを先に開いて読み取り、キャッシュを保存して、それから1つのファイルを開いてファイルを書く操作を行います.実はこの2つの原理は同じですが、この方法は2回のファイルを開く読み書き操作よりも効率的です.
添付https://blog.csdn.net/shichunxue/article/details/80201561ブロガーのソース:
以上の2つの違いを比較することができ、参考にすることができます.
参照リンク:
https://blog.csdn.net/jy692405180/article/details/78604327
https://www.cnblogs.com/misswangxing/p/7921740.html
https://blog.csdn.net/maoyongfan3/article/details/43051711
そこで私は、1つのファイルだけを開いて、元のtxtファイルで直接読み書きすることができるかどうかを考えています.2つのファイルを開くのは効率が悪いのではないでしょうか.
同じファイルを処理しても、先に読んでから書くには、先に読んでから書く必要があるので、現実的には不可能です.
次に私が使うこの方法はlinecacheモジュールを使って、実際にはファイルを先に開いて読み取り、キャッシュを保存して、それから1つのファイルを開いてファイルを書く操作を行います.実はこの2つの原理は同じですが、この方法は2回のファイルを開く読み書き操作よりも効率的です.
#-*- coding:utf-8 -*-
import linecache
#del2.txt
lines = linecache.getlines("del2")
# print linecache.cache['del2'][2]
# print lines
# print len(lines)
for i in range(0, len(lines)):
if i%2 == 0:
# lines[i] = lines[i].strip("
")
lines[i] = lines[i].strip("
")
# print lines
print lines
#f.txt
with open("f",'w') as file:
lines = ''.join(lines)
file.write(lines)
file.close()
# for i in range(0, len(linecache.cache['del2'][2])):
# if i%2 == 0:
# # lines[i] = lines[i].strip("
")
# linecache.cache['del2'][2][i] = linecache.cache['del2'][2][i].strip("
")
# # print lines
# print linecache.cache['del2'][2]
# linecache.checkcache("del2",lines)
# linecache.clearcache()
#
# line2 = linecache.updatecache('test1')
# print line2
添付https://blog.csdn.net/shichunxue/article/details/80201561ブロガーのソース:
i=1
with open('./full_111.log.test','w') as f:
with open('./full_1.log.test', 'r') as fp:
for line in fp:
n=i%2
if n==0:
line = line.strip('
')
f.write(line)
else:
f.write(line)
i=i+1
以上の2つの違いを比較することができ、参考にすることができます.
参照リンク:
https://blog.csdn.net/jy692405180/article/details/78604327
https://www.cnblogs.com/misswangxing/p/7921740.html
https://blog.csdn.net/maoyongfan3/article/details/43051711