def readFile(path):
#R
with open(path,"r+") as f:
for line in f:
print(line)
f.close()
print("读文件完成")
path="D:\\tmp\\manim\\file\\1.txt"
readFile(path)
查找字符串位置,str.find(target) 返回起始点位置如果是-1则表示不存在
"123WWW".find("WWW")
文件指针偏移到指定位置
#文件路径,原字符串,要替换成的目标字符串
def replaceText(filePath,sourceText,targetText):
if(len(sourceText)!=len(targetText)):
raise Exception("原始字符串长度与目标字符串不符,容易覆盖有用信息", sourceText,targetText)
with open(filePath,'r+') as f:
line=f.readline()
index=0
# 遇到中间空行的可以自行观察并不是空字符串
while ( line!=""):
print(line)
# 本行内字符串所在位置
windex=line.find(sourceText)
if(windex!=-1):
print("windex={}".format(windex))
print("当前位置:{},替换内容起点:{}".format(f.tell(),index+windex))
f.seek(index+windex)
f.write(targetText)
# f.flush()
f.seek(index)
# 返回当前文件指针,应该是新一行的开始位置
index=f.tell()
line=f.readline()
f.close()
print("文件修改完毕")
热门频道首页
博客
研修院
VIP
APP
问答
下载
社区
推荐频道
活动
招聘
专题
打开CSDN APP
Copyright © 1999-2020, CSDN.NET, All Rights Reserved
python数据写入文件不完整
打开APP
解决python写入文件数据不全的问题 原创
2019-05-15 17:08:35
4点赞
琼雪染霜华
码龄6年
关注
如果利用语句
向txt文件中写入内容时,运行程序之后,
查看test.txt文件发现文件中的内容并不完整,
这时候就需要检查在代码的最后是否有这样一句话
这样就能截断程序与文件中的联系,
将缓存在内存中的内容全部写入到文件中
且能对test.txt文件进行删除等其他操作,
不必担心是否文件被程序占用的问题。
另一个解决方案就是利用with语句,
这样就不用单独使用close()语句,
因为with语句会自动调用该语句:
文章知识点与官方知识档案匹配
Python入门技能树基本技能数据文件读写
199361 人正在系统学习中
打开CSDN,阅读体验更佳
Python | 多线程处理数据并写入到文件,但数据内容存在残缺混乱的情况...
python—多线程之数据混乱问题 python全栈 1443 一、加入线程同步的原因由于同一进程中的所有线程都是共享数据的,如果对线程中共享数据的并发访问不加以限制,结果将不可预期,在严重的情况下,还会产生死锁在一个进程内的所有线程共享全局变...
Python爬虫写入excel数据内容不完整有空白行_Quest_sec的博客
百度没有看到任何相似问题,只好自己写了。观察发现,这几组数据是不完整的,少了一列,且恰恰是这一列爬到的数据是不完全正确的(既有片长又有上映年份)于是明确两点:(1)对于数据部分缺失的问题,我们想要的结果并不是直接舍弃整组数据,...
浅谈python写入大量文件的问题
今天准备把几个txt文件合并成一个文件时,用f.write方法写入时,发现程序执行完了,本应该十万行左右的txt记录,实际上只被写入了4k多行。 网上查了是因为程序执行速度太快,以至于读到内容还没有完全写入文件,文件就已经关闭了 方法一:加入缓冲区 f.flush() //operation os.
代码如下所示:?#-*- coding: utf-8 -*-
?#code:myhasplqq.com
?#12-1.py
_mport sys
_eload(sys)
_ys.setdefaultencoding("gbk")
?
?
_mport sys,time
_ef print_one_by_one(text):
__ sys.stdout.write("\r " + " " * 60 + "\r") # r 光标回到行首
__ sys.stdout.flush() #把缓冲区全部输出
__ #print text
__ for c in text:
____ sys.stdout.write(c)
____ sys.stdout.flush()
____ time.sleep(0.1)
___? ?
_rint_one_by_one。