当前位置: 首页 > 面试题库 >

为什么我的文本文件不断覆盖其中的数据?

越安翔
2023-03-14
问题内容

我试图从产品的Facebook页面中提取一些数据并将其全部转储到文本文件中,但是我发现该文件不断用数据覆盖自身。我不确定这是一个分页问题还是必须制作多个文件。

这是我的代码:

#Modules
import requests
import facebook
import json

def some_action(post):
    print posts['data']
    print post['created_time']

#Token
access_token = 'INSERT ACCESS TOKEN'
user = 'walkers'

#Posts
graph = facebook.GraphAPI(access_token)
profile = graph.get_object(user)
posts = graph.get_connections(profile['id'], 'posts')

#Write
while True:
    posts = requests.get(posts['paging']['next']).json()
    #print posts

    with open('test121.txt', 'w') as outfile:
        json.dump(posts, outfile)

知道为什么会这样吗?


问题答案:

这用于在文件w模式下使用文件运算符覆盖可以使用aappend方法的内容

可以这样做

修改:

with open('test121.txt', 'w') as outfile:
   while True:
       posts = requests.get(posts['paging']['next']).json() 
       json.dump(posts, outfile)

w 覆盖现有文件

File1.txt:

123

码:

with open("File1.txt","w") as oup1:
    oup1.write("2")

python运行后的File1.txt:

2

那就是它的价值被覆盖

a 追加到现有文件

File1.txt:

123

码:

with open("File1.txt","a") as oup1:
    oup1.write("2")

python运行后的File1.txt:

1232

书面内容附在最后



 类似资料:
  • 所以我尝试从Windows迁移到Linux。今天我尝试用Emacs而不是Windows IDE编写和编译东西。这是我的示例代码: 这是我使用esc-x从emacs编译的- 在终端上,我使用“hello”执行hello/你好。然后我把代码改成了“cout” 它为什么这么做?

  • 我正在寻找关于这个案例的解释:我有一个项目,它有一个dependencyManagement/dependencies部分,其中包含: myproject/pom。xml: spring cloud starter父pom定义: 这样,我的项目将获得SpringCloudStarterEureka版本1.1.0。构建快照。 我期望,如果我在myproject/pom.xml一个属性部分添加另一个版

  • 我仍在学习封装。我有一个,其中每个emcapsulated都有一个数组,以及它们的所有设置程序 现在在我的程序中,我注意到数组listRule(其中添加了与语法相关的规则)在每次添加新语法时都会被覆盖。我已经能够识别出错误发生在会清空listRule中所有其他语法的内容,因此listRule似乎对所有语法都是一样的。我的数组listRule创建不正确还是我的循环?

  • 问题内容: 我在WAMP中使用PHP编写PHP应用程序已有一段时间了。现在,我将在工作PC上分别安装PHP和Apache HTTP Server。我已经安装了PHP 5和最新的Apache。我去本地主机,看到它的工作原理! 现在,我添加了一个名为的文件,该文件显示: 但是在浏览器中,它仅显示纯文本。我有明确告诉它使用PHP 5的地方吗? 问题答案: 您需要将其添加到服务器配置中: 那是假设您已经正

  • 问题内容: 我编写的代码应该覆盖所选文本文件的内容,但是会附加它。我到底在做什么错? 编辑 我尝试制作一个新的temp.txt文件并将新内容写入其中,删除此文本文件并将temp.txt重命名为该文件。事实是,删除总是不成功的。我认为我不必为此更改用户权限吗? 另外,程序的一部分列出了该目录中的所有文件,因此我猜它们正在被程序使用,因此无法删除。但是为什么不覆盖呢? 解决了 我最大的“ D’oh”时

  • 问题内容: 我正在尝试打开一个保存在源文件夹本身中的CSV文件名“ logger.csv”。 但是,这一直在给我一个“找不到文件”错误。 问题答案: 如果您现在就使用相对路径,则该文件需要存在于项目根目录中, 而不是 存在于java文件的目录中。 考虑以下层次结构: 不管用。 将 现在 的工作。(注意,该文件与src目录相邻。)