' /> ' />
💻 آخرین فرصت یادگیری برنامه‌نویسی با آفر ویژه قبل از افزایش قیمت در ۱۵ آذر ماه (🎁 به همراه یک هدیه ارزشمند )
۰ ثانیه
۰ دقیقه
۰ ساعت
۲ Amin_red
ارور کد ترمینال
جامعه پایتون (وب) ایجاد شده در ۰۲ مرداد ۱۴۰۳

Eror '_io.TextIOWrapper' object has no attribute 'keys' این ارور خروجی ترمینال یعنی چی؟؟

سلام،

ارور _io.TextIOWrapper' object has no attribute 'keys' یعنی داری از متدی (مثل keys) استفاده میکنی که برای فایل‌ها وجود نداره. این ارور معمولاً وقتی پیش میاد که سعی میکنی از متدهای مربوط به دیکشنری‌ها برای فایل‌ها استفاده کنی.

مثلاً این کد اشتباهه:

file = open('data.txt', 'r')
print(file.keys())

اینجا file یک شیء فایل هست و متد keys رو نداره. اگه میخوای محتوای فایل رو به عنوان دیکشنری بخونی (مثل فایل JSON)، میتونی از کتابخونه json استفاده کنی:

import json
with open('data.json', 'r') as file:
    data = json.load(file)
    print(data.keys())  # اگه data یه دیکشنری باشه

اگه فقط میخوای خطوط فایل رو بخونی، میتونی اینجوری بنویسی:

with open('data.txt', 'r') as file:
    for line in file:
        print(line.strip())
محسن موحد ۰۳ مرداد ۱۴۰۳، ۱۱:۰۰
یعنی فقط ربط به خواندن فایل‌ها داره؟
Amin_red ۱۴ مرداد ۱۴۰۳، ۰۸:۴۸