【问题标题】:inserting character in file , jython在文件中插入字符,jython
【发布时间】:2011-03-09 20:33:41
【问题描述】:

我编写了一个简单的程序,在该程序中读取前 4 个字符并获取它的整数,然后读取这些字符并在其后写入 xxxx。尽管该程序正在运行唯一的问题而不是插入字符,但它的替换。

file = open('C:/40_60.txt','r+')
i=0
while 1:
    char = int(file.read(4))
    if not char: break
    print file.read(char)
    file.write('xxxx')

print 'done'
file.close()

我在写入数据时遇到问题。 考虑到这是我的样本数据 00146456135451354500107589030015001555854640020 和预期的输出是 001464561354513545xxxx00107589030015001555854640020

但实际上我上面的程序给了我这个输出

001464561354513545xxxx7589030015001555854640020 IE。 xxxx 覆盖 0010。

请提出建议。

【问题讨论】:

  • get the integer of it 是什么意思?

标签: jython


【解决方案1】:

文件不支持“插入”操作。为了得到你想要的效果,你需要重写整个文件。在您的情况下,打开一个新文件进行写入;输出您阅读的所有内容,此外,输出您的“xxxx”。

【讨论】:

  • 它再次击中第一个字符而不是继续循环。请推荐code file = open('C:/40_60.txt','r') file_write=open('C:/40_60_output.txt','w') loop=0 while file: if file.read(4) == '': print 'loop done' break file.seek(-4) char= int(file.read(4)) file.seek(-4) file_write.write(file.read(4)) file_write.write(file.read(char)) file_write.write('xxxx') print file.read(4) loop+=1 if loop == 3: break print 'done' file_write.close() file.close()
  • 没有换行符很难阅读你的代码。每次迭代只执行一次读取并将返回值存储在变量中(例如x = file.read(4))并删除所有查找调用。此外,file_write 中没有可阅读的内容...
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-05-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-02-02
相关资源
最近更新 更多