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

时间:2019-12-09 17:21:00

标签: python-3.x string text

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

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 4 limits.memory 2Gi 2Gi

这是我期望的结果

命名空间:投票应用 硬用资源 -------- ---- ---- limits.cpu 4 4 limits.memory 2Gi 2Gi

1 个答案:

答案 0 :(得分: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]]