问答 请教 python 脚本执行会报磁盘空间不足

lank · 2022年03月14日 · 最后由 陈恒捷 回复于 2022年03月15日 · 2871 次阅读

最近在开始学习,但是遇到一个问题 python 编写的脚本文件,但是执行的时候会提示空间不足。不知道有没有人知道是什么原因

windows:10
python 版本:3.10
环境路径以及依赖包均设定好了。
我自电脑桌面上新增了一个学习的文件夹,在此文件夹下新增了一个.py 文件,内容如下:

-- coding: UTF-8 --

import requests
from bs4 import BeautifulSoup

response = requests.get("https://www.baidu.com/")
soup = BeautifulSoup(response.text, "html.parser")
print(soup.prettify())

但是执行的时候会提示磁盘空间不足:
执行结果:
磁盤空間不足
磁盤空間不足
磁盤空間不足
磁盤空間不足
Task run finished

請按任意鍵繼續 . . .

另外我发现,如果我把这个脚本放到桌面上执行就正常
即文件的存放路径为:C:\Users\xxx\Desktop\test.py 可以正常执行成功
当文件的存放路径为:C:\Users\xxx\Desktop\xuexi\test.py 就会报磁盘空间不足

把这个文件放到其他磁盘分区中文件夹下执行也一样回报磁盘空间不足
我检查过我的磁盘空间还有 128G,所以不会是磁盘空间的问题,但是却不知道怎么解决,不知道有没有大神知道

共收到 5 条回复 时间 点赞
lank 回复

客气了。

每个奇葩问题的背后,其实都是一系列运行原理的组合。搞懂这个能让你更清晰真切地了解 python 的外部库加载机制,建议你可以继续追查下,相信会有所收获的。

至于为啥会自动加载,我从你的文件名大概知道原因了,你可以自己试着查下,了解后能有效帮助你避免以后出现同类问题(这个问题其实并不奇葩,属于新手常见问题之一,只是你的脚本刚好输出内容有点特别而你又没提及,所以大家都被你给出的 “磁盘空间不足” 误导了方向)

PS:下次提问建议最好是把你项目有关的全部信息附上,最好是把代码放到 github 仓库方便其他人复现,否则缺少有效线索,大家只能靠你选择性给出的信息去猜,很容易方向错误。

lank #4 · 2022年03月15日 Author
陈恒捷 回复

我发现是只要 import 安装的库都会,自身带的不会。经过反复测试重装,这个问题我终于解决了,虽然问题很诡异。
原因是我那个目录下有一个名字叫 copy.py 的档案,是用来从 server 上复制资料的一个脚本。
但是很奇怪的是每当我 import 库都会跑去执行这个脚本,所打印的 “磁盘空间不足” 的提示其实就是这个脚本再检查我电脑上空间小于 200G 的时候就会终止执行并提示。
只要命令窗口下导入安装的库或者执行含有引用到安装库的脚本时,都会跑去执行这一个脚本。我是在重安装 python 后,有些资料没安装完测试时报错后才发现的。
最终解决就是删掉这个档案,之后就一切恢复正常了。

感谢你的回复,这是一个很奇葩的问题

lank 回复

挺好,问题范围缩小了。不过我自己没遇到过这个问题,所以也只能给些建议:

可以试试:
1、确认下是所有 import 都有问题,还是只有 request 库?如果是后者,可以试试重装 requests 库,看是不是装的时候有问题。
2、项目目录不要放 C 盘桌面,改放别的盘或别的位置(因为一般系统也在 C 盘,桌面属于 C 盘用户文件夹下目录,所以 C 盘特别容易遇到有权限限制的文件夹)

lank #2 · 2022年03月14日 Author
陈恒捷 回复

我一条条删除后测试,我发现是 import 就出问题了
当我在 C:\Users\xxx\Desktop\xuexi\目录下开启 python 命令窗口,尝试 import 包就会报此问题,但是在桌面下导入就不会,网上查了一下也没有找到怎么处理。不知道你是否知道这个是什么原因

即文件的存放路径为:C:\Users\xxx\Desktop\test.py 可以正常执行成功
当文件的存放路径为:C:\Users\xxx\Desktop\xuexi\test.py 就会报磁盘空间不足

从这个现象看,同样 C 盘有 2 个报错,说明大概率不是真的磁盘不足,有可能是权限问题导致无法写入。你有没有装 pycharm 之类的,可以在里面打个断点之类排查下具体是哪行语句报错?

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册