我有一个文件,其中包含存储在简单文本文件中的名称列表。每行包含一个名称。现在我需要根据用户输入以编程方式为此文件添加新名称。 对于输入本身,我使用DataBricks小部件 - 这工作得很好,我将新名称存储在一个字符串对象中。 现在我需要将此名称附加到我的文件中。
该文件安装在/mnt/blob/myNames.txt下的DataBricks文件系统(DBFS)中
尝试读取这样的文件时:
f = open("/mnt/blob/myNames.txt", "r")
print f
它返回错误"没有这样的文件或目录"
所以我尝试将新名称包装到数据框中并将其附加到现有文件中,但这也不起作用,因为dataframe.write.save旨在写入文件夹
我可以使用哪个最简单的python将这个新名称附加到我的文件中?
答案 0 :(得分:4)
您可以使用 dbutils 从DBFS写入和读取文件。使用数据桶中的 dbutils.fs.help()命令访问DBFS的帮助菜单。
因此,您可以使用以下命令将您的名字附加到您的文件中:
dbutils.fs.put("/mnt/blob/myNames.txt", new_name)
您正在获取"没有这样的文件或目录"错误,因为找不到DBFS路径。使用 dbfs:/ 访问DBFS路径。这是您应该阅读文件的方式:
f = open("/dbfs/mnt/blob/myNames.txt", "r")
答案 1 :(得分:1)
您可以使用“ a”以附加模式打开文件
with open("/dbfs/mnt/sample.txt", "a") as f:
f.write("append values")
现在您可以使用来查看内容
with open("/dbfs/mnt/sample.txt", "r") as f_read:
for line in f_read:
print(line)
解决方案:Here