7.9 გამართვა
როცა ფაილებს წერ და კითხულობ, შეიძლება შეგექმნას პრობლემა ჰარებთან. ეს პრობლემა გამართვისთვის შეიძლება გახდეს რთული,
იმიტომ რომ ჰარები, ტაბები და ახალი ხაზები როგორც წესი უხილავია:
>>> s = '1 2\t 3\n 4'
>>> print s
1 2 3
4
ჩაშენებულ ფუნქციას repr
დახმარება შეუძლია. ნებისმიერ ობიექტს იღებს
არგუმენტად და აბრუნებს ობიექტის სტრინგულ გამოსახულებას. სტრინგებისთვის, იგი წარმოადგენს
თეთრადგილიან სიმბოლოებს with
backslash sequences:
>>> print repr(s)
'1 2\t 3\n 4'
გამართვისთვის ეს შეიძლება იყოს სასარგებლო.
კიდევ ერთი პრობლემა, რომელსაც შეიძლება გადააწყდე განსხვავებულ სისტემებზე
არის სხვადასხვა სიმბოლოების გამოყენება ხაზის დამთავრების საჩვენებლად. ზოგი სისტემა
იყენებს \n - ს და ზოგი იყენებს \r - ს; ზოგიერთი კი ორივეს.
ფაილის ერთიდან მეორე სისტემაზე გადატანისას ამ შეუსაბამობამ შეიძლება შეგიქმნას პრობლემა. სისტემების უმეტესობისთვის არის აპლიკაცია
ერთი ფორმატიდან მეორეში გადასაყვანად. აპლიკაციები შეგიძლია იპოვნო(და მეტი წაიკითხო
ამის შესახებ) wikipedia.org/wiki/Newline. ანდაც შეგიძლია თვითონ დაწერო ასეთი აპლიკაცია.
7.10 ლექსიკონი
catch: პროგრამის გაჩერების თავიდან ასარიდებლად try და except
- ის გამოყენება.
newline: ფაილში და სტრინგებში გამოყენებული სპეციალური სიმბოლო,
რომელიც აჩვენებს ხაზის დასასრულს.
Pythonic: ტექნიკა, რომელიც პითონში მუშაობს მოხდენილად. არარსებული
ფაილების შემთხვევაში, თავის დასაზღვევად try და except
- ის გამოყენება პითონიკური გზა იყო.
Quality
Assurance: ადამიანი
ან გუნდი ფოკუსირებული პროგრამული პროდუქტის საერთო ხარისხის დაზღვევაზე. ხ.კ. ხშირად ამოწმებს პროდუქტს, რომ აღმოაჩინოს
პრობლემა, მანამ სანამ პროდუქტი რეალიზაციაში გავა.
text
file: პერმენტულ
სათავსოში შენახული სიმბოლოების რიგი - როგორიცაა მყარი დისკი.
7.11 სავარჯიშოები
სავარჯიშო 7.1 დაწერე
პროგრამა, რომელიც წაიკითხავს ფაილს და ამობეჭდავს ფაილის შიგთავსს დიდ ასოებად. ამონაბეჭდი
ამის მსგავსად უნდა გამოიყურებოდეს:
python shout.py
Enter a file name: mbox-short.txt
FROM STEPHEN.MARQUARD@UCT.AC.ZA SAT JAN 5 09:14:16 2008
RETURN-PATH: <POSTMASTER@COLLAB.SAKAIPROJECT.ORG>
RECEIVED: FROM MURDER (MAIL.UMICH.EDU [141.211.14.90])
BY FRANKENSTEIN.MAIL.UMICH.EDU (CYRUS V2.3.8) WITH LMTPA;
SAT, 05 JAN 2008 09:14:16 -0500
სავარჯიშო 7.2 დაწერე
პროგრამა, რომელიც გკითხავს ფაილის სახელს, წაიკითხავს ფაილს და ნახავს ხაზების ფორმებს:(and
then read through the file and look for lines of the form:)
X-DSPAM-Confidence: 0.8475
როცა წააწყდება ხაზს, რომელი იწყება X-DSPAM-Confidence: - ით,
დაამუშავოს ხაზი ისე, რომ გამოიტანოს მარტო წილადი. დათვალოს ეს ხაზები და გამოიანგარიშოს
წილადების საერთო ჯამი. ფაილის დამთავრებისას ამობეჭდოს X-DSPAM-Confidence: - ის და წილადების საშუალო არითმეტიკული(When
you reach
the
end of the file, print out the average spam confidence.)
Enter the file name: mbox.txt
Average spam confidence: 0.894128046745
Enter the file name: mbox-short.txt
Average spam confidence: 0.750718518519
შეამოწმე შენი ფაილი
mbox.txt და mbox-short.txt -ზე.
სავარჯიშო 7.3 ზოგჯერ
როცა პროგრამისტები მოიწყენენ და უნდათ რომ ცოტა გამხიარულდნენ, თავის პროგრამას ამატებენ
უვნებელ "Easter Egg -ს"
(en.wikipedia.org/wiki/Easter_egg_(media)). პროგრამის შეცვლა ისე, რომ პროგრამა მომხმარებელს ფაილი სახელს სთხოვს
და როცა შეყავს რამე სასაცილო, პროგრამაც ასევე იქცევა. პროგრამა კარგად უნდა მუშაობდეს ნორმალური შემთხვევებისთვის. აქაა ნიმუში:
python egg.py
Enter the file name: mbox.txt
There were 1797 subject lines in mbox.txt
python egg.py
Enter the file name: missing.tyxt
File cannot be opened: missing.tyxt
python egg.py
Enter the file name: na na boo boo
NA NA BOO BOO TO YOU - You have been punk'd!
Easter Egg - ის პროგრამაში დამატება
შენს გასამხიარულებლად არ დაგვიწერია. ეს სავარჯიშოა.
No comments:
Post a Comment