gpt4 book ai didi

python 文件不完整,如何等到它完成后再处理回父进程

转载 作者:行者123 更新时间:2023-11-30 23:03:29 26 4
gpt4 key购买 nike

我希望能够启动一个子进程,将文件写入服务器,然后等到它完全完成,然后再处理回父进程。我从发布请求收到图像文件。我解析它并使用以下代码将其写入服务器......这很好。

path="/var/bla/bla/bla/"
original_fname = file1['filename']
output_file = open(os.path.join(path,original_fname), 'w')
output_file.write(file1['body'])

问题是我必须在创建该文件后使用 imagemagick 命令行工具访问该文件才能获取某些数据。但使用上面的代码还为时过早,文件的创建过程尚未完成。我想在上面的代码之后执行此操作...

subprocess.Popen(stdout=output_file)
Popen.communicate()

但是出现以下错误......

'Popen' object has no attribute '_child_created'

我该如何解决这个问题?

最佳答案

写入文件后您没有关闭该文件。你可以这样做:

output_file = open(os.path.join(path,original_fname), 'w')
output_file.write(file1['body'])
output_file.close()

但我建议使用 with 关键字,即使 block 中发生错误,它也会关闭文件描述符:

with open(os.path.join(path,original_fname), 'w') as output_file:
output_file.write(file1['body'])

关于python 文件不完整,如何等到它完成后再处理回父进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34072552/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com