使用函数读写文件

谢泼德

我正在尝试创建2个功能。

  1. readfiles(file_path),读取由file_path指定的文件,并返回包含文件中每一行的字符串列表。

  2. 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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章