[英]Python | return something similar to “os.get_terminal_size”
[英]ValueError: bad file descriptor, width = os.get_terminal_size().columns
我收到此錯誤:
Traceback (most recent call last):
File "C:\Users\myname\OneDrive\Desktop\DxubleG's follwo bot\bot.py", line 10, in <module>
width = os.get_terminal_size().columns
ValueError: bad file descriptor
代碼部分是:
from colorama import init, Fore, Style
from discord.ext import commands
import subprocess
import requests
import discord
import ctypes
import os
init(convert=True)
width = os.get_terminal_size().columns
ctypes.windll.kernel32.SetConsoleTitleW('dxuble.lol')
token = 'Nzc0ODIxNjc1OTQyMjgxMjQ4.X6dW6w.sDk8D4FRFJXy06tEJCRLMqy6pFc'
prefix = '.'
title = [
r'',
r'',
r'',
r'',
r'',
r'',
r''
]
intents = discord.Intents().all()
bot = commands.Bot(command_prefix=prefix, case_insensitive=True, intents=intents)
bot.remove_command('help')
有誰知道為什么?
由於以下三個原因之一,您幾乎肯定會遇到此問題:
sys.stdout
連接到真正的文件描述符,並且無法對os.get_terminal_size
進行猴子補丁stdout
的終端大小時即使它連接到終端也不起作用無論哪種方式,解決方案都是相同的:遵循 文檔的指導(“ shutil.get_terminal_size()
是通常應該使用的高級 function, os.get_terminal_size
是低級實現。”),並使用shutil.get_terminal_size()
,它總是按順序提供結果,檢查:
COLUMNS
/ LINES
的環境設置os.get_terminal_size()
(80, 24)
(如果不是,您可以傳入自己的默認值tuple
對你來說很好的默認值,例如cols, lines = shutil.get_terminal_size((128, 32))
回退到更大的默認尺寸)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.