The_Infinity403 2022-12-16 19:48 采纳率: 100%
浏览 29
已结题

AttributeError: 'NoneType' object has chno attribute 'fileno'

大佬,我在用python写badapple的时候出来一个错

Traceback (most recent call last):
  File "C:\Users\liu\Desktop\clean.py", line 8, in <module>
    stdscr = curses.initscr()
  File "C:\Users\liu\AppData\Local\Programs\Python\Python310\lib\curses\__init__.py", line 30, in initscr
    fd=_sys.__stdout__.fileno())
AttributeError: 'NoneType' object has no attribute 'fileno'

代码如下

import time
import cv2
import numpy as np
from PIL import Image
import os
import curses

stdscr = curses.initscr()
stdscr.border(0)
codeLib = '''@B%8&WM#*oahkbdpqwmZO0QLCJUYXzcvunxrjft/\|()1{}[]?-_+~<>i!lI;:,"^`'. '''#生成字符画所需的字符集
count = len(codeLib)

def main(video_path):
    '''
    对视频文件切割成帧
    @param video_path:视频路径
    '''
    vc=cv2.VideoCapture(video_path)
    c=0
    if vc.isOpened():
        rval,frame=vc.read()
    else:
        rval=False
    while rval:
        rval,frame=vc.read()
        #if c % 2 == 0:
        console_print(frame)
        #c=c+1

def transform(image_file):
    codePic = ''
    for row in range(0,image_file.shape[0]):  #size属性表示图片的分辨率,'0'为横向大小,'1'为纵向
        for col in range(0,image_file.shape[1]):
            r,g,b = image_file[row][col]
            gray = int(0.2126*r+0.7152*g+0.0722*b) #返回指定位置的像素,如果所打开的图像是多层次的图片,那这个方法就返回一个元组
            codePic = codePic + codeLib[int(((count-1)*gray)/256)]#建立灰度与字符集的映射
        codePic = codePic+'\n'
    return codePic

def console_print(image_file):
    rows,cols,_ = image_file.shape 
    image_file = cv2.resize(image_file,(int(cols*0.25),int(rows*0.12)))
    stdscr.addstr(0,0,transform(image_file))
    stdscr.refresh()


main("badapple.mp4")

望大家解答

  • 写回答

1条回答 默认 最新

  • ShowMeAI 2022-12-17 11:19
    关注

    详细解答如下,望采纳


    curses 库的 initscr 函数初始化 curses 窗口后返回一个表示窗口的句柄。但是,你这里发生了错误返回了一个 NoneType 对象。

    这个错误通常是因为你的终端或控制台不支持 curses 库的特性,比如缺少 ANSI escape sequences 等特性,导致无法正常使用 curses 库。

    你可以尝试在不同的终端或控制台中运行你的代码,看看是否能够正常使用 curses 库。也可以尝试使用其他工具,例如 urwid 或 PyQt 等,来实现类似的功能。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 12月25日
  • 已采纳回答 12月17日
  • 创建了问题 12月16日

悬赏问题

  • ¥15 基于单片机的靶位控制系统
  • ¥15 AT89C51控制8位八段数码管显示时钟。
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 下图接收小电路,谁知道原理
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错