繁体   English   中英

在Geany中工作的Python代码不在IDLE中吗?

[英]Python code working in Geany not in IDLE?

我已经开始使用Geany(在Linux上工作)编写代码。 它在Geany上运行良好,当我尝试在pythontutor.org上对其进行仿真时,一切似乎都是正确的,但IDLE(在Macbook上)将无法执行。 这是我的代码:

import random
f = open('mots.txt')
word_list = f.readlines()
line = random.randint(0,len(word_list))
word = word_list[line]
print(word)

它应该打开文件,列出其中包含的单词(我每行有一个单词),选择一个对应于一行的数字,然后随机给我选择的单词。

这是我从空闲中得到的:

Traceback (most recent call last):
  File "/Users/luvi/Desktop/maths/INFO-F-101/Projets/projet2_test.py", line 3, in <module>
    word_list = f.readlines()
  File     "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/encodings/ascii.py", line 26, in decode
    return codecs.ascii_decode(input, self.errors)[0]
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 305: ordinal not in range(128)

谢谢!!

您没有明确提出问题,但是我想您想知道为什么以及如何做。 open文档说:“默认编码取决于平台(无论locale.getpreferredencoding()返回什么)。” 如果您的文件具有已知的非ascii编码,则安全,跨平台的工作是在open调用中提供一个显式的编码参数。

由于Python是IDLE,而不是IDLE是open执行的,因此我怀疑您应该将标题更改为“ Python代码可在Linux上运行,但不能在OSX上运行”。 要进行测试,请直接从命令行使用Python运行它,而不是从IDLE或Geany运行它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM