知行编程网知行编程网  2023-01-11 16:00 知行编程网 隐藏边栏  5 
文章评分 0 次,平均分 0.0
导语: 本文主要介绍了关于python3 os中unlink如何使用?的相关知识,希望可以帮到处于编程学习途中的小伙伴


如何在 python3 操作系统中使用取消链接?

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


问题:


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

如何在 python3 操作系统中使用取消链接?



我不明白为什么之前创建了一个临时文件,然后

unlink掉了,然后我的问题是:


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


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

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

如何在 python3 操作系统中使用取消链接?


解决:

这里mkstemp得到两个值,一个赋给fd,一个赋给name,这个name是一个完整的路径名,只需要并行操作文件,mkstemp用完后需要手动释放,而这里的名字可以直接释放,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)
<class 'int'>
>>> 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 "<stdin>", line 1, in <module>
OSError: [WinError 6] 句柄无效。


相信有部分小伙伴看完知道unlink掉了该如何解决了,还不懂得可以跟周围人再多交流一下。

更多Python学习推荐:




本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写
扫一扫二维码分享