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

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 开发一个小区生态的小程序
  • ¥15 MddBootstrapInitialize2失败
  • ¥15 LCD Flicker
  • ¥15 Spring MVC项目,访问不到相应的控制器方法
  • ¥15 esp32在micropython环境下使用ssl/tls连接mqtt服务器出现以下报错Connected on 192.168.154.223发生意外错误: 5无法连接到 MQTT 代理,如何解决?
  • ¥15 关于#genesiscsheel#的问题,如何解决?
  • ¥15 Android aidl for hal
  • ¥15 STM32CubeIDE下载程序报错
  • ¥15 微信好友如何转变为会员系统?(相关搜索:小程序)