python - 编写一个程序,读取一个文件并以相反的顺序写出一个新文件
问题描述
编写一个程序,读取一个文件并以相反的顺序写出一个新文件(即旧文件中的第一行成为新文件中的最后一行。)
我能够正确使用反转行,reverse()
但我无法将输出写入新文件。这是我到目前为止的代码。
f = open("States.txt", "rb")
s = f.readlines()
f.close()
f = open("newstates2.txt", "wb")
x = s.reverse()
f.write(x)
解决方案
reverse()
不返回任何东西。如果要使用reverse()
,则必须在s
之后使用,而不是为反向列表创建新变量。另外,readlines()
返回一个列表,所以你不能write()
直接调用它,但你可以遍历它。这是一个更新的版本:
f = open("States.txt", "rb")
s = f.readlines()
f.close()
f = open("newstates2.txt", "wb")
s.reverse()
for line in s:
f.write(line)
f.close()
或者,您可以使用reversed()
which 确实返回相反的版本:
for line in reversed(s):
f.write(line)
推荐阅读
- asp.net-mvc - MVC:从数据库中获取值列表
- vue.js - v-model 和 selected 不能同时工作... --vue.js
- python - python、qtreewidgetitem、numpy 矩阵和图像小部件
- html - Html css 卡片对齐
- apache - 带有 Apache 代理和 SSL 的 Websocket (Ratchet/zeroMQ) - 在 Plesk 服务器上
- reactjs - 在 Office ui 结构 React 中替代具有多行的 TextField
- laravel - 查询返回一个对象而不是数组
- android - Kotlin 协程:为什么我直到最后都看不到日志?
- ssl - 没有为“listen ... ssl”指令定义“ssl_certificate”
- assembly - NASM x86 Assembly 中的删除空格问题