Page 95 - python
P. 95

69




                    """

                    f = open(r"d:\binary-mode.txt",'wt')
                    f.write(s)
                    f.close()


                    f = open(r"d:\text-mode.txt",'wb')
                    f.write(s.encode())
                    f.close()

                                                                ็
                          ตัวอยางที่ 6.3 ตัวแปร s มีชนิดเปนสตริง เกบคําวา "Information\nScience\n" เมื่อ "\n" คือ
                   เครื่องหมายขนตนบรรทัดใหม นําตัวแปร s ไปเขียนลงไฟลแบบ เท็กซโหมดและไบนารีโหมด พบวา ใน
                               ึ้
                   เท็กซโหมดจะทําการแปลงเครื่องหมาย "\n" เปน "\r\n" ทําใหขนาดพื้นที่เพิ่มขึ้น 2 ตัวอักษร ดังนั้น ขนาด
                   ไฟลเท็กซโหมดจะมีขนาด 22 ตัวอักษร และไฟลไบนารีโหมดจะมีขนาด 20 ตัวอักษร เนื่องจาก
                   ระบบปฏิบัติการวินโดวสจะเปลี่ยนเครื่องหมายขนตนบรรทัดใหม '\n' เปน '\r\n' เรียกอกขระขึ้นตน
                                                             ึ้
                                                                                               ั
                   บรรทัดใหม (Carriage-Return Line Feed: CRLF)

                   ไฟลแบบไบนารีโหมด

                     I  n  f  o  R  M  a  t  i  o  n  \n  S  c  i  e  n  c  e  \n
                    1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18  19  20

                   ไฟลแบบเท็กซโหมด

                    I  n  f  o  r  m  a  t  i  o  n  \r  \n  S  c  i  e  n  c  e  \r  \n
                    1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18  19  20  21  22
                          ขนาดของไฟลในเท็กซโหมดจะมีขนาดใหญกวาไบนารีโหมด ขึ้นอยูกับจํานวน '\n' ที่ปรากฎ
                   ภายในไฟล


                                 
                   6.6 การอานไฟลในบรรทัดเดียว
                              ั้
                          ในขนตอนที่ผานมาแสดงใหเห็นการอานไฟลซึ่งตองดําเนินการ 3 ขั้นตอน หัวขอนี้เสนอวิธีการ
                                                          
                   อานไฟลเพียงคําสั่งบรรทัดเดียว ดังนี้


                   ตัวอยางที่ 6.4 การเปดไฟลเพื่ออาน
                    s = open(r"d:\text-mode.txt",'r') .read()
                    print(s)


                   ผลลัพธ :
                    Information
                    Science
   90   91   92   93   94   95   96   97   98   99   100