如果 python 脚本在完成之前被杀死,有没有办法保存由 python 脚本编写的文件?
Is there a way to save a file that is written by a python script, if the python script is killed before it is completed?
我一直在运行使用 Python 编写的网络抓取脚本。由于我的互联网连接出现问题,我不得不终止 Python 脚本。当时,脚本有将近 2-3 小时的 运行。我使用 for 循环将数据写入 CSV 文件。 for 循环结束后,我曾使用 'file.close()' 保存文件;但是由于我提前终止了程序,我两个小时的时间浪费了。
当我尝试删除新创建的 CSV 文件(其大小为 0kB)时,提示“操作无法完成,因为文件已在 Python 中打开”。我认为我提取的所有数据现在都在 RAM 上。(也许这就是为什么我没有获得关闭 0kB 大小的 CSV 文件的权限的原因?)
那么,有没有办法访问这些数据并将数据写入上述CSV文件? (不然我就得运行同样的程序再练两个小时等结果)
这是我的代码!
#! python3.8
fileCsv = open('newCsv.csv','w',newline='')
outputWriter = csv.writer(fileCsv)
for i in range(100,000): # whatever range
num, name = 10000, 'hello' # The data extracted from the website
ourputWriter.writerow([num,name])
time.sleep(1)
fileCsv.close() # My program was terminated before this line, in the for loop
使用 with
在这里应该有所帮助。
with open('newCsv.csv','w') as wr:
for i in range(100,000): # whatever range
num, name = 10000, 'hello' # The data extracted from the website
wr.writerow([num,name])
time.sleep(1)
我一直在运行使用 Python 编写的网络抓取脚本。由于我的互联网连接出现问题,我不得不终止 Python 脚本。当时,脚本有将近 2-3 小时的 运行。我使用 for 循环将数据写入 CSV 文件。 for 循环结束后,我曾使用 'file.close()' 保存文件;但是由于我提前终止了程序,我两个小时的时间浪费了。
当我尝试删除新创建的 CSV 文件(其大小为 0kB)时,提示“操作无法完成,因为文件已在 Python 中打开”。我认为我提取的所有数据现在都在 RAM 上。(也许这就是为什么我没有获得关闭 0kB 大小的 CSV 文件的权限的原因?)
那么,有没有办法访问这些数据并将数据写入上述CSV文件? (不然我就得运行同样的程序再练两个小时等结果)
这是我的代码!
#! python3.8
fileCsv = open('newCsv.csv','w',newline='')
outputWriter = csv.writer(fileCsv)
for i in range(100,000): # whatever range
num, name = 10000, 'hello' # The data extracted from the website
ourputWriter.writerow([num,name])
time.sleep(1)
fileCsv.close() # My program was terminated before this line, in the for loop
使用 with
在这里应该有所帮助。
with open('newCsv.csv','w') as wr:
for i in range(100,000): # whatever range
num, name = 10000, 'hello' # The data extracted from the website
wr.writerow([num,name])
time.sleep(1)