Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python原始输入在使用py2app创建应用程序后导致EOFError_Python_Py2app_Raw Input_Eoferror - Fatal编程技术网

Python原始输入在使用py2app创建应用程序后导致EOFError

Python原始输入在使用py2app创建应用程序后导致EOFError,python,py2app,raw-input,eoferror,Python,Py2app,Raw Input,Eoferror,我写了一个小脚本,帮助我解决拼字和单词扭曲问题。当我从MacOSX终端运行它时,它工作正常。我想将脚本作为一个独立的Mac应用程序与我的朋友共享。因此,我使用py2app来实现这一点,但当我双击它时,应用程序崩溃了。控制台显示以下错误消息: 1/17/11 2:13:51 PM [0x0-0x4a44a4].org.pythonmac.unspecified.warp[9875] Enter letters: Traceback (most recent call last): 1/17/11

我写了一个小脚本,帮助我解决拼字和单词扭曲问题。当我从MacOSX终端运行它时,它工作正常。我想将脚本作为一个独立的Mac应用程序与我的朋友共享。因此,我使用py2app来实现这一点,但当我双击它时,应用程序崩溃了。控制台显示以下错误消息:

1/17/11 2:13:51 PM [0x0-0x4a44a4].org.pythonmac.unspecified.warp[9875] Enter letters: Traceback (most recent call last):
1/17/11 2:13:51 PM [0x0-0x4a44a4].org.pythonmac.unspecified.warp[9875]   File "/Users/***/wordwarp/dist/warp.app/Contents/Resources/__boot__.py", line 137, in <module>
1/17/11 2:13:51 PM [0x0-0x4a44a4].org.pythonmac.unspecified.warp[9875]     _run('warp.py')
1/17/11 2:13:51 PM [0x0-0x4a44a4].org.pythonmac.unspecified.warp[9875]   File "/Users/***/wordwarp/dist/warp.app/Contents/Resources/__boot__.py", line 134, in _run
1/17/11 2:13:51 PM [0x0-0x4a44a4].org.pythonmac.unspecified.warp[9875]     execfile(path, globals(), globals())
1/17/11 2:13:51 PM [0x0-0x4a44a4].org.pythonmac.unspecified.warp[9875]   File "/Users/***/wordwarp/dist/warp.app/Contents/Resources/warp.py", line 4, in <module>
1/17/11 2:13:51 PM [0x0-0x4a44a4].org.pythonmac.unspecified.warp[9875]     word = raw_input("Enter letters: ")
1/17/11 2:13:51 PM [0x0-0x4a44a4].org.pythonmac.unspecified.warp[9875] EOFError: EOF when reading a line
1/17/11 2:13:51 PM warp[9875] warp Error
1/17/11 2:13:51 PM warp[9875] warp Error
1/17/11 2:13:52 PM com.apple.launchd.peruser.501[469] ([0x0-0x4a44a4].org.pythonmac.unspecified.warp[9875]) Exited with exit code: 255

如何消除该错误?

py2app包装为应用程序的Python程序没有用于输入输入的终端窗口。您需要提供一些更奇特的输入和输出方式,例如使用Python的
Tkinter
模块。如果您的脚本是从终端运行的,并且您希望创建一个可单击的应用程序,那么将其打包为启动
终端会话的
自动程序
AppleScript
应用程序可能会更简单。

我明白了。使用Automator或AppleScript(我以前从未使用过这两者)最简单的方法是什么?只有两个文件:warp.py和dict.txtI没有使用py2app,但是从文件或命令行选项中读取
word
是否可以接受?首先使用
py2app
的原因是生成一个标准的OSX GUI应用程序,可以通过双击Finder启动。在这种情况下,没有命令行。如果您的应用程序预期从shell命令行运行,那么您很可能不应该使用
py2app
。只需像大多数跨平台Python包一样,使用Python Distutils和控制台脚本对其进行打包。
import string

word = raw_input("Enter letters: ")
dict = open('dict.txt')
wordmap = {}
for c in string.lowercase:
    wordmap[c] = 0

for c in word:
    if c in wordmap:
        wordmap[c] = wordmap[c]+1

for line in dict:
    line = line.strip()
    if len(line) >= 3:
        linemap = {}
        for c in string.lowercase:
            linemap[c] = 0
        for c in line:
            if c in linemap:
                linemap[c] = linemap[c]+1
        match = True
        for c in linemap:
            if linemap[c] > wordmap[c]:
                match = False
        if match is True:
            print line