2017-09-17 23 views
1

我想通过编码显示在Pyschopy日本的一些句子,我用这样的代码:Psychopy:如何显示日语?

from Psychopy import visual,core 

win=visual.Window([400,400]) 

message=visual.TextStim(win,text='先生を呼んだ学生') 

message=setAutoDraw(True) 

win.flip() 

和回应是,“SyntaxError: Non-ASCII character '\xe5' in file D:\用户目录\我的文档\untitled.py on line 5, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details”。

我想使用TextStim呈现日语是非法的,但我在构建器视图中看到它可以这样做。所以我想知道是否有某种方法可以让我通过编码来显示日语?

+2

看来你使用的是Python 2;升级到Python 3,文本处理将会更好。 – Ryan

+0

您是否尝试过阅读那篇文章? –

+0

您的意思是“http://python.org/dev/peps/pep-0263/”上的文章。我读了它,现在正试图为Janpanese声明一个编码名称。并且我还跟踪了builderview的脚本,并发现了这个:#!/ usr/bin/envpython2# - * - coding:utf-8- *我试图在我的代码中使用它,但它不起作用。 – Heaven

回答

1

PsychoPy不久将为Python 3添加beta版支持,这将改进unicode处理,但是就时间而言,即使在当前的Python 2.7下也应该可以运行它。这种调整对您的代码工作对我来说:

#!/usr/bin/env python2 
# -*- coding: utf-8 -*- 

from psychopy import visual,core 

win=visual.Window([400,400]) 

message = visual.TextStim(win, text = u'先生を呼んだ学生') 

message.draw() 

win.flip() 

core.wait(5) 

即显式声明的UTF-8编码的包头,而且先于你的字符串字面量u,表明它是一个Unicode字符串(这一步终究不会在Python 3中我认为是必需的)。