0

我使用 Geany 作为我的编辑器,当我第一次开始使用它时,写入文件工作正常,但不知何故它随机停止工作。代码执行没有任何错误,但文件未创建/如果已经创建,则为空,我不知道为什么。下面的简单代码不起作用:

filename = 'dogs'
with open(filename, 'w') as f:
    f.write('tester')

with open(filename, 'r') as f:
    contents = f.read()
    print(contents)

我从“读取”方法获得的输出在控制台输出上看起来是正确的(它只是打印“测试器”),但在我的目录中没有创建/编辑任何文件。

Geany 还有一个非常复杂的调试器(如果有人有关于如何使用它的有用指南,请告诉我),所以我无法正确调试。我已经尝试了所有我知道的方法,包括使用绝对文件路径,以管理员模式运行。当我尝试使用 Pygal 来 render_to_file() 时,这个问题也存在,这是我正在处理的项目,所以现在我不能再进一步了,因为任何需要编写的东西都不起作用。仅供参考,它读起来很好....就像 Geany 没有管理员权限之类的?

编辑:我已经在 python shell(没有 .py 文件)上运行了这段代码,它运行良好,根据需要创建文件。然后我使用带有 .py 文件的 CMD 运行它,但它不起作用。也使用Pycharm运行,当我正常运行时它不起作用但是当我在调试模式下运行它时它起作用?这似乎不是 Geany 特定的问题,但我很困惑!

4

2 回答 2

0

因为代码在 shell 中工作,我强烈怀疑该文件是在某处创建的,但您在错误的位置查找。

我知道您提到了绝对路径,但我只想重申您当前没有使用绝对路径。绝对路径必须以 '/' (linux/mac) 或类似:'C:/' (windows) 开头。

这里有 2 件事可以尝试:

1) 将名称“dogs”更改为真正晦涩的名称,然后在整个硬盘上进行全局搜索以查找该名称。你可能会找到它。

2)让python告诉你文件在哪里是这样的:

import os
filename = 'dogs'
with open(filename, 'w') as f:
    f.write('tester')
print(os.path.realpath(f.name))
于 2018-03-20T15:55:23.880 回答
0

得到了解决方案 - 每次我运行我的代码时都会创建文件,但是我的防病毒软件Comodo将它们包含在我驱动器中的一个隐藏文件夹中,该文件夹无法通过正常搜索找到。

我不确定这是 AV 软件的常见问题还是 Comodo 的常见问题,在网上找不到任何关于它的信息,但你去吧。我从它的雷达中删除了这些文件和程序,它现在可以正常工作了。

尽管一个谜是 python shell 是如何绕过这个问题的。这让我觉得这是 AV。

于 2018-03-20T17:49:55.090 回答