我已经安装了pypiwin32,所以我可以使用win32file命令,但我对Python没有太多经验
我如何更改下面的代码,打开几个文件(我不担心锁定第一个文件),读取一行,然后替换/写入第二个文件中的一部分行?我不希望第二个文件在打开/写入时被锁定,从而利用Win32 API
with open("C:\\Temp\\Fileorg.txt", "rt") as fin:
with open("C:\\Temp\\File2.txt", "wt") as fout:
for line in fin:
fout.write(line.replace('part/list.txt', 'part/list.txt?id='+text))
新行符号只是字符
'\n'
。如果文件为"line1\nline2"
,并且更改为"line1X\nline2"
,则必须重新写入'\n'
之后的所有内容。输出文件必须被锁定在这种情况下,可以使用文件共享来读取
X
之前的字符。但是在X
上和之后以正确的顺序读取字符是一个巨大的挑战最好的选择是使用数据库
第二个选项是写入临时文件
"temp.tmp"
。一旦手术结束 完成后,将整个文件从"temp.tmp"
复制到"File2.txt"
。复制文件很快。读取器可以检查文件是否可用,如果不可用,则应等待1秒,等待CopyFile
完成,然后重试,最多5次(由数字1和5组成)第三种选择是使用格式化文本。例如,输出文件是
您只能通过更改
#
字符来修改此数据。每行开头的0
表示该行不忙。如果写入程序正在更新该行,它会将0
更改为1
,然后返回这样,数据更改时文件大小不会更改,您可以使用文件共享并在正确的位置查找数据。您可以添加数据,但删除数据会更困难。这将是一个大项目
相关问题 更多 >
编程相关推荐