创新互联Python教程:python3os中unlink如何使用?

大多时候我们会用函数来运行一些程序,可以说基本上代码的运行时离不开函数的使用的。今天就有小伙伴在使用函数时出现了问题,同时还有一些不解的地方向小编询问。在一起解决了unlink的问题之后,小编把这个问题分享给大家,让小伙伴们通过案例体会python3 os.unlink的使用。

公司专注于为企业提供网站设计制作、成都网站设计、微信公众号开发、商城网站定制开发,成都小程序开发,软件按需网站开发等一站式互联网企业服务。凭借多年丰富的经验,我们会仔细了解各客户的需求而做出多方面的分析、设计、整合,为客户设计出具风格及创意性的商业解决方案,成都创新互联公司更提供一系列网站制作和网站推广的服务。


问题:

下图箭头位置是 multiprocessing 包下 heap.py 的70行。

不明白为什么前面刚创建一个临时文件,紧接着就unlink掉了,然后我的问题是:

1.这样做是基于何种考虑?

2.为什么文件 unlink 掉了,后面还可以通过 fd 打开&写入?

3.程序在上图最后一行报:No such file or directory(如下图) 可能是什么情况?

解决:

在这里,mkstemp得到了两个值,一个赋值给了fd, 一个赋值给了name,这个name就是一个完整路径名,并行时只需要对文件进行操作,而mkstemp用完之后需要手动释放,而这里就可以直接把name释放,fd本身就是指向文件的,后续操作可能会用到,最迟会在join部分被释放。上下文对比,这是一个不难得到的结论。

>>> import tempfile
>>> fd, name = tempfile.mkstemp()
>>> fd
3
>>> name
'C:\\Users\\Public\\Documents\\Wondershare\\CreatorTemp\\tmprwvqhg1d'
>>> open(fd, 'w')
<_io.TextIOWrapper name=3 mode='w' encoding='cp936'>
>>> type(fd)

>>> import os
>>> os.unlink(name)
>>> "tmprwvqhgld" in dir("C:/users/public/documents/wondershare/creatortemp")
False
>>> file = 7
>>> with open(file, 'wb') as f:
...     pass
...
Traceback (most recent call last):
  File "", line 1, in 
OSError: [WinError 6] 句柄无效。

相信有部分小伙伴看完知道unlink掉了该如何解决了,还不懂得可以跟周围人再多交流一下。更多Python学习推荐:PyThon学习网教学中心。

当前标题:创新互联Python教程:python3os中unlink如何使用?
本文URL:http://www.shufengxianlan.com/qtweb/news23/281523.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联