我想要的:
如果代码不需要argv或其他一些
,那就没问题这是我的代码:
from sys import argv
script, file_name = argv
target = open(file_name, 'w')
while True:
line = raw_input()
target.write(line)
target.write("\n")
if line.strip() == '':
break
我发现了两个关于它的问题,但我是Python的新学习者,我不知道如何在这些相关问题中结合答案中的逻辑。
希望我能表达清楚。谢谢。答案 0 :(得分:1)
您的代码可以使用,但如果您想使用linked questions中的 writelines 和 iter 逻辑,则可以使用循环使用iter(raw_input,"")
,它将循环直到空字符串:
from sys import argv
script, file_name = argv
with open(file_name, 'w') as f:
f.writelines(line+"\n" for line in iter(raw_input,""))
iter(raw_input,"")
表示链接一个无限的while循环,它将继续询问输入,直到用户只是命中返回,file.writelines采用一系列字符串来写我们通过使用a generator expression传递
如果你要使用file.write,你只需再次遍历iter(raw_input, "")
并写入循环:
with open(file_name, 'w') as f:
for line in iter(raw_input, ""):
f.write(line+"\n")
答案 1 :(得分:-1)
如果你只想写,那么这段代码应该没问题。这段代码从用户那里获取文件名,然后逐行将数据写入文件。当用户没有输入数据时,执行停止。
file_name = raw_input("Enter the file name")
target = open(file_name, 'w')
while True:
line = raw_input("enter data")
target.write(line)
target.write("\n")
if line.strip() == '':
break
target.close()