[DEBUG] python写文件时print漏掉整行数据

问题描述

我有下面一段代码:

out_f = open("test.txt","w")
d = {"我是一个词典""我有很多数据但是我不想写"}
for trans,oid in d.items():
    # 数据库配置语句省略
    # ...
    sql = 'insert into table_a(p, a_id, created, p_id) values(\"%s\",999,now(),(select id from table_b where name=\"%s\"));'%(trans, oid)
    print(sql + "\n")
    out_f.write(sql + "\n")

out_f.close()

d大概有175个键值对,print到控制台确实有175条,但写出到文件test.txt(代码执行前无此文件),确只有81条。整段代码没有报错,写出到文件直接省略了94条。

解决办法

在使用文件操作模式w时,其实要考虑缓冲区?前94条,可能直接被冲掉了,并没有保存到文件中。只要换成a模式,追加式写,则全部记录可以写出。

out_f = open("test.txt","a")

其实包括with open(“test.txt”,“w”) as file,再用print(内容,file=file),这样写出的时候,一样也会因为文件操作模式问题,导致前面多条数据无法记录。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: VS Code 可以用来调试 Python 代码,具体步骤如下: 1. 安装 Python 插件。在 VS Code 中,按下 Ctrl + Shift + X 打开插件市场,搜索 Python,安装 Microsoft 的 Python 插件。 2. 在 VS Code 中打开 Python 文件,点击左侧菜单栏中的调试按钮,然后点击配置按钮,选择 Python。 3. 点击生成配置文件,它将在当前目录下生成一个 launch.json 文件。在文件中添加配置,例如: ```json { "name": "Python: Current File", "type": "python", "request": "launch", "program": "${file}", "console": "integratedTerminal" } ``` 这个配置将会在终端中启动当前文件。 4. 在代码中设置断点,然后点击调试按钮的“开始调试”按钮。这将会在 VS Code 中启动调试器,并执行你的代码。你可以单步执行代码,查看变量的值,检查函数调用栈等等。 ### 回答2: Vscode是一款被广泛使用的轻量级代码编辑器,它集成了强大的调试工具,以及许多方便的扩展插件,使得编Python程序更加方便。现在,我将详细介绍vscode如何在Python代码中使用调试功能。 首先,在vscode中打开要调试的Python程序文件,然后通过"ctrl+shift+p"或"command+shift+p"打开命令面板,在该面板中输入“Python: Configure Tests”,然后选择Debug Python Test,这可能是第一次配置Python调试器。接着,选择Python环境,确定解释器的路径(在一些特殊情况下可能需要手动设置)。然后,vscode将自动生成一个.launch文件,并在左侧的活动栏中出现Debug面板。 在Debug面板中,需要在左上角选择调试模式,这是Python调试器,然后单击绿色的开始调试按钮。这将启动你的Python代码,并在调试器中打开源代码。现在,你可以通过设置断点来暂停程序的执行过程,在源代码的行号旁边单击。在执行过程中,程序将在该行停止,然后可以在调试器中查看源代码的变量和运行状态。 调试,你可以通过单步执行、进入、跳过或继续执行程序遇到的下一个断点,直到程序执行完毕或到达设定的断点。在调试器中,你还可以输出调试信息或在交互式命令控制台中运行Python命令。 总的来说,通过vscode调试Python程序,你将能够更快、更准确地找到代码错误、调试调用栈、分析解释器输出和调试代码逻辑,以此改善代码质量,并加速代码开发过程。值得一提的是,vscode对Python的支持不止于调试,还包括语法高亮、智能代码补全、格式化等功能,让Python代码编变得更加简单高效。 ### 回答3: VSCode是一个非常流行的跨平台代码编辑器,它支持多种编程语言,包括Python。针对Python的调试,VSCode提供了一些非常方便的功能,使得我们可以快速定位问题并进行调试。 首先,我们需要在VSCode中安装Python扩展。在安装完扩展后,我们就可以使用VSCode的调试功能了。在调试之前,我们需要先在代码中插入断点。断点是告诉VSCode在代码执行到这一行停下来,方便我们进行调试的一个标记。插入断点非常简单,只需要在代码的左侧点击一下即可。 准备妥当后,我们就可以开始调试了。首先,我们需要设置调试配置。在VSCode底部的面板中,有一个调试按钮,点击后可以看到一些调试配置。对于Python,我们可以选择Python自动检测或手动配置调试器路径。配置完成后,我们就可以点击调试按钮开始调试了。 在调试过程中,我们可以在VSCode底部的调试面板中看到每一步执行的状态,可以查看堆栈、变量、日志等。如果我们需要执行某个表达式来查看结果,也可以在调试面板中输入表达式并查看结果。如果我们要执行一些单独的代码块进行测试,也可以在调试面板中使用"Python Interactive"模式。 在VSCode的调试功能中,还有一些其他非常有用的功能,例如远程调试和调试控制台。如果我们需要在远程服务器上调试Python代码,可以使用"remote debugging"功能。我们可以将代码上传至服务器,然后在VSCode中设置远程调试配置,在远程服务器上启动调试进程即可。当我们需要在调试过程中手动输入一些命令或调用一些函数,可以使用调试控制台。 总之,VSCode提供了非常方便的Python调试功能,我们可以通过断点、调试配置、调试面板、调试控制台等方式进行调试,从而快速定位问题。这些功能让Python开发变得更加容易和高效。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值