الحصول على كائن ملف يستخدمه كائن قارئ/كاتب CSV

StackOverflow https://stackoverflow.com/questions/198465

  •  10-07-2019
  •  | 
  •  

سؤال

هل هناك أي طريقة للوصول إلى كائن الملف الذي يستخدمه كائن كاتب/قارئ CSV بعد إنشاء مثيل له؟لقد فتحت وحدة CSV، ويبدو أن المسابقة مدمجة فيها.لقد حاولت أيضًا تعيين كائن الملف كخاصية ولكني تلقيت الخطأ التالي:

AttributeError: '_csv.writer' object has no attribute 'fileobj'
هل كانت مفيدة؟

المحلول

csv.writer هي وظيفة "مدمجة".أي أنه مكتوب بلغة C المترجمة بدلاً من لغة بايثون.لذلك لا يمكن الوصول إلى متغيراتها الداخلية من كود بايثون.

ومع ذلك، لست متأكدا لماذا ستحتاج إلى فحص كائن csv.writer لمعرفة كائن الملف.يتم تحديد هذا الكائن عند إنشاء الكائن:

w = csv.writer(fileobj, dialect, ...)

لذلك، إذا كنت بحاجة إلى الوصول إلى هذا الكائن لاحقًا، فما عليك سوى حفظه في متغير آخر.

نصائح أخرى

ومن ما استطيع ان اقول، لا توجد وسيلة مباشرة للحصول على وجوه الملف مرة أخرى مرة واحدة يمكنك وضعه في كائن CSV. أن توجهي من المحتمل أن يكون لفئة فرعية الكاتب والقراء CSV الذي تستخدمه حتى يتمكنوا من تحمل تلك البيانات حول معهم. وبطبيعة الحال، وهذا يفترض القدرة على أن تكون قادرة على الوصول مباشرة إلى أنواع من الطبقات يجعل وظيفة مصنع (من بين أمور أخرى).

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top