اذهب إلى المحتوى
  • 0

الجوبيتر:مشكلة قراءة ملف txt ([Errno 2] No such file or directory:)

Arabic Language

السؤال

مرحبا وأرجو أن تكونوا بخير

حاولت البحث عن حل لهذه المشكلة وجربت كل الطرائق المقترحة ولم أفلح

استدعيت ملفين ملف تدريب واختبار

المكان واحد والمحتوى واحد لدرجة أني حاولت أن أجعل الملفين بمحتوى واحد لأتتبع المشكلة

from lazyme import per_section
import nltk

training_sentences = [[tuple(token.split('\t')) for token in sent] for sent in per_section(open('C:\\Users\\HP\\re\\Train.txt'))]
test_sentences = [[tuple(token.split('\t')) for token in sent] for sent in per_section(open('C:\\Users\\HP\\re\\Test.txt'))]
print(training_sentences[1])
print(test_sentences[1])

أيضا حملت وحذفت الاناكوندا اكثر من مرة

والمكتبات ايضا

ومازالت المشكلة

 

لاحظ في الكود أن ملف train لا يعثر عليه فما المشكلة؟

النتيجة التي يظهر فيها هذا الخطأ 

 

FileNotFoundError                         Traceback (most recent call last)
<ipython-input-2-8159264d756d> in <module>
      2 import nltk
      3 
----> 4 training_sentences = [[tuple(token.split('\t')) for token in sent] for sent in per_section(open('C:\\Users\\HP\\re\\Train.txt'))]
      5 test_sentences = [[tuple(token.split('\t')) for token in sent] for sent in per_section(open('C:\\Users\\HP\\re\\Test.txt'))]
      6 print(training_sentences[1])

FileNotFoundError: [Errno 2] No such file or directory: 'C:\\Users\\HP\\re\\Train.txt'

فما سبب المشكلة وما الحل ؟

 

مع شكري الجزيل لكم

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 1

يمكن كان هناك حرف غير ظاهر فبعض الحروف الunicode تكون مخفية، وكان بالخطأ هناك حرف مخفي في اسم الملف.

تحياتي وبالتوفيق إن شاء الله.

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 1

العفو.

السبب هو إن اسم الملفTrain. txt و نوعه txt. فكان من المفروض كتابته Train. txt. txt أول تغير اسمه لTrain فقط لذلك عندما قمت بتسمية الملف فقط عمل بدون مشاكل

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

تحياتي

مبدأياً تأكد من وجود الملف في المكان بالفعل بهذا الإسم.

ثانيًا جرب تعديل المسار إلى:

'C:/Users/HP/re/Train.txt'

إذا لم تعمل، يمكنك معرفة الcurrent working directory ووضع الملفات هناك كحل مؤقت.

import os
print(os.getcwd())

هذا السطر سيخبرك بالcurrent working directory، ويمكنك وضع الملفات هناك وفتحها عن طريق:

open('Train.txt')

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

السبب في هذه المشكلة أن علامة \ تسمى escape character في بايثون و يجد العديد منها في اللغة مثل t\ و n\ ...

فعندما يصادف البرنامج أحد هؤلاء ال escape characters تنتهي ال string بالنسبة اليه

أحد الحلول لهذه المشكلة هو الطريقة التي قمت بكتابة المسار بها و لكن هذا لا يعمل دائما:

حلول أخرى:

يمكنك كتابتها كما يلي:

'C:/mydir'
'C:/Users/HP/re/Train.txt'

أو:

استخدام raw string literals اذا كان لديك مشكلة مع بعض التسميات 

r'C:\mydir'
r'C:/Users/HP/re/Train.txt'

أو:

أفضل حل هو استخدام os.path module functions 

و التي تقوم دائما باختيار الصورة المناسبة لنظامك

os.path.join(mydir, myfile)
os.path.join(":C", "Users", "HP", "re" , "Train.txt")   

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 15 ساعات قال مصطفى القباني:

تحياتي

مبدأياً تأكد من وجود الملف في المكان بالفعل بهذا الإسم.

ثانيًا جرب تعديل المسار إلى:


'C:/Users/HP/re/Train.txt'

إذا لم تعمل، يمكنك معرفة الcurrent working directory ووضع الملفات هناك كحل مؤقت.


import os
print(os.getcwd())

هذا السطر سيخبرك بالcurrent working directory، ويمكنك وضع الملفات هناك وفتحها عن طريق:


open('Train.txt')

 

شكرا لجوابك أولا. طبقت هذه الطريقة ونفس نوع الخطأ ظهر لي

ما زلت أستغرب من قراءته لملف التست وعدم قراءته لملف الترين

لدرجة حذفت بيانات ملف الترين ووضعت فيها نفس بيانات التست ومازال الخطأ يظهر !

 

 

import os
print(os.getcwd())
المخرج

C:\Users\HP\re

ورسالة الخطأ كالتالي:

FileNotFoundError Traceback (most recent call last) <ipython-input-1-0383278864ef> in <module> 2 import nltk 3 ----> 4 training_sentences = [[tuple(token.split('\t')) for token in sent] for sent in per_section(open('Train.txt'))] 5 test_sentences = [[tuple(token.split('\t')) for token in sent] for sent in per_section(open('Test.txt'))] 6 print(training_sentences[1]) FileNotFoundError: [Errno 2] No such file or directory: 'Train.txt'

:(

بتاريخ 3 ساعات قال Yomna Raouf:

السبب في هذه المشكلة أن علامة \ تسمى escape character في بايثون و يجد العديد منها في اللغة مثل t\ و n\ ...

فعندما يصادف البرنامج أحد هؤلاء ال escape characters تنتهي ال string بالنسبة اليه

أحد الحلول لهذه المشكلة هو الطريقة التي قمت بكتابة المسار بها و لكن هذا لا يعمل دائما:

حلول أخرى:

يمكنك كتابتها كما يلي:


'C:/mydir'

'C:/Users/HP/re/Train.txt'

أو:

استخدام raw string literals اذا كان لديك مشكلة مع بعض التسميات 


r'C:\mydir'

r'C:/Users/HP/re/Train.txt'

أو:

أفضل حل هو استخدام os.path module functions 

و التي تقوم دائما باختيار الصورة المناسبة لنظامك


os.path.join(mydir, myfile)

os.path.join(":C", "Users", "HP", "re" , "Train.txt")   

 

شكرا جزيلا لك مقدما

أدخلت هذا الكود 

"os.path.join("C:", "Users", "HP", "re" , "Train.txt") 

المخرج

'C:\\Users\\HP\\re\\Train.txt'

أدخلته كما هو  نفس الرسالة الملف غير موجود!!!

 

حيرتي لماذا يجد الملف الموجود معه بنفس الصيغة ونفس المحتوى أقصد ملف التست ولا يجد ملف الترين !!!!!

تم التعديل في بواسطة Arabic Language
رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

جرب حذف .txt من ملف Train

و تأكد أن تسمية ال file Train صحيحة من حيث capital and small

كنت أقصد :C  خطأ بالكتابة اسفة لذلك 

اقتباس

حيرتي لماذا يجد الملف الموجود معه بنفس الصيغة ونفس المحتوى أقصد ملف التست ولا يجد ملف الترين 

ما الذي جعلك تظن ذلك؟؟ البرنامج توقف عن التنفيذ عندما لم يجد أول ملف و هو ال Train.txt file فهو لم يعرف حتى بوجود ملف test

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

يمنى شكرا لك

بتاريخ 42 دقائق مضت قال Yomna Raouf:

جرب حذف .txt من ملف Train

و تأكد أن تسمية ال file Train صحيحة من حيث capital and small

كنت أقصد :C  خطأ بالكتابة اسفة لذلك 

ما الذي جعلك تظن ذلك؟؟ البرنامج توقف عن التنفيذ عندما لم يجد أول ملف و هو ال Train.txt file فهو لم يعرف حتى بوجود ملف test

شكرا لك يمنى 

أنا قلت إنه يقرأ ملف التست ولا يقرأ الترين لأني عطلت السطر المتعلق بملف الترين وعمل الكود!!!!!!!!!!! وقرأ الملف كالتالي: 

import os
from lazyme import per_section
import nltk

 

#training_sentences = [[tuple(token.split('\t')) for token in sent] for sent in per_section(open('C:\\Users\\HP\\re\\Train.txt'))]
test_sentences = [[tuple(token.split('\t')) for token in sent] for sent in per_section(open('C:\\Users\\HP\\re\\Test.txt'))]
#print(training_sentences[1])
print(test_sentences[1])
 
out:

[('__SPACE__', '0'), ('ث', '0'), ('م', '0'), ('__SPACE__', '0'), ('ق', '0'), ('ا', '0'), ('ل', '0'), ('و', '0'), ('ا', '0'), ('__SPACE__', '0'), ('ف', '0'), ('ي', '0'), ('__SPACE__', '0'), ('م', '0'), ('س', '0'), ('ا', '0'), ('و', '0'), ('ئ', '0')]

وجربت حذف txt
نفس المشكلة :(
تم التعديل في بواسطة Arabic Language
رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 13 دقائق مضت قال مصطفى القباني:

جرب إعادة تسمية الملف Train.txt إلى اسم اخر.

هل يمكنك إرفاق صورة للمجلد الذي به الملفات؟

جربت ولم يحل المشكلة بل إني غيرت محتوى ملف الترين ليكون نفس ملف التست ولم يعمل ! ووضعت كل ملف بمكان ولم يعمل ! تفضل الصور

thumbnail_image0.jpg

thumbnail_image1.jpg

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

ضبطططططط

معقول يصير المشكل من عدد أحرف اسم الملف!!!!

سميته T فقط واشتغل !!

ما زلت أجهل السبب!!

بتاريخ 3 دقائق مضت قال مصطفى القباني:

ما هو الoutput للأمر الآتي:


os.listdir('C:\\Users\\HP\\re')

 

قد جربته ويقول الملف غير موجود 

خلاص الحمد لله ضبط 

نفسي اعرف السبب ! 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...