从品牌网站建设到网络营销策划,从策略到执行的一站式服务
小编给大家分享一下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] 句柄无效。
以上是python3 os中unlink的使用方法的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联行业资讯频道!
成都网站建设公司地址:成都市青羊区太升南路288号锦天国际A座10层 建设咨询028-86922220
成都快上网科技有限公司-四川网站建设设计公司 | 蜀ICP备19037934号 Copyright 2020,ALL Rights Reserved cdkjz.cn | 成都网站建设 | © Copyright 2020版权所有.
专家团队为您提供成都网站建设,成都网站设计,成都品牌网站设计,成都营销型网站制作等服务,成都建网站就找快上网! | 成都网站建设哪家好? | 网站建设地图