You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Google Colab中导入pwntools遇fileno错误的求助咨询

在Google Colab中导入pwntools时遇到UnsupportedOperation: fileno错误的解决方法

在Google Colab中尝试导入pwntools库时,出现以下错误导致无法完成导入:

UnsupportedOperation                      Traceback (most recent call last)
<ipython-input-2-6911e2dbc5cd> in <cell line: 1>()
----> 1 from pwn import *
      2 import numpy as np
      3 
      4 p = process('./moon')
      5 

10 frames
/usr/local/lib/python3.9/dist-packages/pwn/__init__.py in <module>
      2 from __future__ import absolute_import
      3 
----> 4 from pwn.toplevel import *
      5 
      6 pwnlib.args.initialize()

/usr/local/lib/python3.9/dist-packages/pwn/toplevel.py in <module>
     20 from pprint import pprint
     21 
----> 22 import pwnlib
     23 from pwnlib import *
     24 from pwnlib.asm import *

/usr/local/lib/python3.9/dist-packages/pwnlib/__init__.py in <module>
     39 ]
     40 
----> 41 from . import args

/usr/local/lib/python3.9/dist-packages/pwnlib/args.py in <module>
     58 import sys
     59 
----> 60 from pwnlib import term
     61 from pwnlib.context import context
     62 

/usr/local/lib/python3.9/dist-packages/pwnlib/term/__init__.py in <module>
      4 import sys
      5 
----> 6 from pwnlib.term import completer
      7 from pwnlib.term import key
      8 from pwnlib.term import keymap

/usr/local/lib/python3.9/dist-packages/pwnlib/term/completer.py in <module>
      5 import re
      6 
----> 7 from pwnlib.term import readline
      8 
      9 

/usr/local/lib/python3.9/dist-packages/pwnlib/term/readline.py in <module>
     10 from pwnlib.term import keymap as km
     11 from pwnlib.term import term
----> 12 from pwnlib.term import text
     13 
     14 cursor = text.reverse

/usr/local/lib/python3.9/dist-packages/pwnlib/term/text.py in <module>
    128 
    129 tether = sys.modules[__name__]
--> 130 sys.modules[__name__] = Module()

/usr/local/lib/python3.9/dist-packages/pwnlib/term/text.py in __init__(self)
     42             'white': 7,
     43             }
--> 44         self._reset = termcap.get('reset')
     45         self._attributes = {}
     46         for x, y in [('italic'   , 'sitm'),

/usr/local/lib/python3.9/dist-packages/pwnlib/term/unix_termcap.py in get(cap, *args, **kwargs)
     23 
     24     if cache is None:
--> 25         init()
     26     s = cache.get(cap)
     27     if not s:

/usr/local/lib/python3.9/dist-packages/pwnlib/term/unix_termcap.py in init()
     57         # Fix for BPython
     58         try:
--> 59             curses.setupterm()
     60         except curses.error as e:
     61             import traceback

UnsupportedOperation: fileno

错误原因

pwntools的终端处理模块(pwnlib.term)初始化时,会调用curses.setupterm()获取终端控制参数。但Google Colab运行在浏览器虚拟环境中,没有真实的终端文件描述符(fileno),导致该函数调用失败,抛出UnsupportedOperation错误。

解决方法

在导入pwntools前,先设置环境变量TERM为dumb,让pwntools使用极简终端模式,规避需要真实终端的功能调用。具体代码如下:

import os
os.environ['TERM'] = 'dumb'
from pwn import *

内容的提问来源于stack exchange,提问作者gr007

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 14:42:22