首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >-操作符对学校作业文件的操作

-操作符对学校作业文件的操作
EN

Stack Overflow用户
提问于 2021-12-07 19:17:31
回答 2查看 66关注 0票数 -3

我有两组数字4-1和9-3代码的文本文档,它们需要在相同的文本文档中读取和写入,并且需要小心换行符,然后需要计算它们并打印,而不用输入作为选项2 tnx的帮助。

我已经尝试了选择1

代码语言:javascript
运行
复制
f = open("Odin.txt","r")
print(f.read())
f.close()


f = open("Odin.txt","w")

for f in line:
    res = eval(line.strip())
    output.write(line.strip()+"="+str(res)+"\n")
f.close()

f = open("Odin.txt","r")
print(f.readline(),end="")
print(f.readline(),end="")
f.close()

我试着选择2

代码语言:javascript
运行
复制
f = open("Odin.txt","r")
print(f.readline(),end="")
print(f.readline())
f.close()

f = open("Odin.txt","w")
a = 4-1
b = 9-3
f.write(f"4-1 = {a}\n")
f.write(f"9-3 = {b}\n")
f.close()

f = open("Odin.txt","r")
print(f.readline(),end="")
print(f.readline(),end="")
f.close()
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-12-07 19:42:38

选项1是接近的,但是您的for f in line是向后的;您需要for line in f (即在f文件中的每个line上迭代)。如果在开始编写修改后的版本之前读取整个文件,也会更容易。

代码语言:javascript
运行
复制
# Read a copy of the file into memory as a list.
with open("Odin.txt") as f:
    lines = list(map(str.strip, f.readlines()))

# Write out the new content.
with open("Odin.txt", "w") as f:
    for line in lines:
        f.write(f"{line}={eval(line)}\n")
代码语言:javascript
运行
复制
>cat Odin.txt
4-1
9-3

>python odin.py
>cat Odin.txt
4-1=3
9-3=6
票数 0
EN

Stack Overflow用户

发布于 2021-12-07 19:47:25

我可能会这样做:

代码语言:javascript
运行
复制
import re

output = ""

with open("New Text Document.txt", "r") as file:
    # This gets the expression before the "=" and removes all the leading and trailing whitespaces
    text = [(re.sub("=(.*)", "", line)).strip() for line in file.readlines()]

    for line in text:
        try:
            output += f"{line} = {eval(line)}\n"
        except SyntaxError:
            pass

with open("New Text Document.txt", "w") as file:
    file.write(output)

基本上,先读文档,然后把我想要写的所有东西都放在一个变量中。然后,我只需在写入模式下再次打开它并编写输出。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70265802

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档