这是一个非常奇怪的问题,我可以解决它,但它确实困扰着我,我想知道这里发生了什么。
我将从最终结果开始,然后介绍导致此结果的所有原因,尽管我几乎可以肯定罪魁祸首是 Python:
$ move rolling_stone_50_best_songs_of_2017.csv rs.csv
Access is denied.
0 file(s) moved.
>>> os.rename('r_s.csv', 'rs.csv')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
PermissionError: [WinError 5] Access is denied: 'r_s.csv' -> 'rs.csv'
我还收到其他命令(涉及 rs.csv)的错误消息,并且 vim 无法写入它。
我是这台电脑的唯一用户和管理员,并且它位于本地驱动器上。我是否是管理员并不重要,也无论我使用 cmd、powershell、bash、python 还是 explorer 都无关紧要。文件 rs.csv 不存在于此处(我可以看到),它肯定不是隐藏文件。
我创建了一个名为 rs.csv 的文件,我使用 cmd 中的 move 命令重命名另一个 csv 文件。我打开了一个 python 3.6.3 解释器,也在 cmd 中,并使用 os 和 csv 模块。
我想找到一种在解释器中使用 cls 命令的方法,并尝试了以下解决方案:https://stackoverflow.com/a/518007/7024304
我手打了答案,可能打错了:
>>> cls = lambda: os.system('cls')
>>> cls()
在我完成此操作后,python 崩溃了,我的 ConEmu 选项卡关闭了。当我返回目录时,我所做的所有更改都消失了。我下载并重命名了几个 csv 文件,并创建了一个名为 test.log 或类似名称的文件,但它们都丢失了。无论出于什么原因,rs.csv 是唯一有问题的文件名。
是的,我重启了电脑。即使我删除目录并重新创建后,问题仍然存在。
有什么想法吗?这真的很令人沮丧
答案1
感谢 Michaelbay 的回答,看来是磁盘错误。运行 chkdsk 修复了所有问题,尽管根据它的日志没有发现任何问题。