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

السؤال

نشر

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

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

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

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

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

  • 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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...