我正在尝试创建2个功能。
readfiles(file_path)
,读取由file_path指定的文件,并返回包含文件中每一行的字符串列表。
writefiles(lines, file_path)
这会将列表行的内容逐行写入由file_path指定的文件。
当一个接一个地使用时,输出文件应该是输入文件的精确副本(包括格式)
这是我到目前为止所拥有的。
file_path = ("/myfolder/text.txt", "r")
def readfiles(file_path):
with open file_path as f:
for line in f:
return line
lst = list[]
lst = line
lst.append(line)
return lst
read_file(file_path)
lines = lst []
def writefiles(lines, file_path):
with open ("file_path", "w") as f:
for line in lst:
f.write(line)
f.write("\n")
当我用它阅读时,我可以将其用于某种工作
with open("/myfolder/text.txt", "r") as f:
for line in f:
print(line, end='')
这是写
with open ("/myfolder/text.txt", "w") as f:
for line in f:
f.write(line)
f.write("\n")
但是,当我尝试将它们投入功能时,一切都搞砸了。我不知道为什么,我知道这是一个简单的问题,但这并不是我想要的。我已经阅读过有关它的文档,但是我没有完全关注它,并且不知所措。我的功能出了什么问题?
我从各种各样的错误
lst = list[]
^
SyntaxError: invalid syntax
至
lst or list is not callable
我也知道有类似的问题,但是我发现的问题似乎没有定义函数。
这里有一些学习要点,将有所帮助。
在阅读功能中,您有点接近。但是,您不能将return
语句放入循环中。该功能在任何地方首次击中该功能时,它将立即结束。另外,如果您要创建一个容器来保存读取的内容列表,则需要在开始循环之前进行设置。最后,不要命名list
。它是一个关键字。如果要创建新的列表项,请执行以下操作:results = list()
或results = []
因此,在伪代码中,您应该:
Make a list to hold results
Open the file as you are now
Make a loop to loop through lines
append to the results list
return the results (outside the loop)
您writefiles
很亲密。您应该遍历作为lines
函数参数的变量。现在,您所引用lst
的不是函数的参数。
祝好运!
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句