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