我需要从uma文件中获取文本并放入另一个空文件中

问题描述 投票:0回答:1

这是我到目前为止编写的代码,我需要帮助来解决此问题,我试图从一个文件中获取文本,然后将其放入另一个文件中,但是我没有找到正确执行此操作的方法。当我运行此代码时,我的文件为空。

f = open('teste.txt','r')
texto = f.readlines()

x = 0

while x < len(texto):
    if texto[x] == "\n":
        local = texto.index(texto[x])
        texto.pop(local)
    else:
        texto[x] = texto[x].split(',')
        x += 1
    # print(texto[1])


texto1 = open('gravando.txt','r+')
#   texto1.write(texto[1,5,6,7,8])
(texto1.write(line) for line in (texto[i] for i in [1,5,6,7,8]))

print('O conteudo do texto1 e ', texto1.readlines())

这是文件teste.txt中的文本

名称:compute-resources命名空间:投票应用范围:不终止*匹配没有有效期限的所有广告连播。这些容器通常包括长时间运行的容器,这些容器的容器命令不会终止。硬用资源-------- ---- ----limits.cpu 4 4limits.memory 2Gi 2Gi

这是我期望的结果

名称空间:投票申请硬用资源-------- ---- ----limits.cpu 4 4limits.memory 2Gi 2Gi

python-3.x string text
1个回答
0
投票

据我了解,您正试图通过省略一些行(例如换行)来将一个文本从文件复制到另一文本。另外,仅尝试仅写入某些行,例如1,5,6

下面是在写入另一个文件时的更正,


f = open('teste.txt','r')
texto = f.readlines()

x = 0

while x < len(texto):
    if texto[x] == "\n":
        local = texto.index(texto[x])
        texto.pop(local)
    else:        
        x += 1
    # print(texto[1])
texto1 = open('gravando.txt','r+')
[texto1.write(texto[i]) for i in [1,5,6,7,8]]

或者您可以这样做,

for i in [1,5,6,7,8]:
    texto1.write(texto[i]) 

我建议应该使用上下文管理器执行文件处理操作,

with open("test.txt", "w") as f:    
    [f.write(texto[i]) for i in [1,5,6,7,8]]
© www.soinside.com 2019 - 2024. All rights reserved.