我正在学习Zed Shaw的书学习Python的艰难之路3.6
脚本底部有一系列6个target.write命令,他希望我使用字符串格式和转义将它们简化为单个target.write命令。但是,我被困住了。
以下是原始代码:
-ppx
到目前为止,我已经尝试过了
from sys import argv
script, filename = argv
print(f"We're going to erase {filename}")
print("If you don't want that, hit CTRL-C (^C).")
print("If you do want that, hit RETURN.")
input("?")
print("Opening the file...")
target = open(filename,'w')
print("Truncating the file. Goodbye!")
target.truncate()
print("Now I'm going to ask you for three lines")
line1 = input("line 1:")
line2 = input("line 2:")
line3 = input("line 3:")
print("Im going to write these to the file.")
target.write(line1)
target.write("\n")
target.write(line2)
target.write("\n")
target.write(line3)
target.write("\n")
print("And finnaly, we close it")
target.close()
但这会产生逻辑错误,只能写入一行而不是全部三行。
target.write(line1),(line2),(line3)
用这个我得到错误
target.write(line1) + (line2) + (line3)
有了这个,我得到错误:
'unsupported operand types for +: 'int' + 'str'
target.write(line1),\n,(line2)\n(line3),\n
我一直在谷歌搜索并在这里寻找答案,但没有找到任何东西。一个人发布了一个非常相似的问题,除了Zed的2.7书。但是我正在阅读Zed的3.6书,所以答案对我来说无济于事。
答案 0 :(得分:0)
我不确定你有什么,到目前为止我还没有涵盖,因为我不熟悉它,但是你想要的一种方法是首先格式化字符串然后将其传递给写像这样的方法:
composer require "maatwebsite/excel:~2.1.0"