บทช่วยสอน งูหลามไฟล์ I / O ที่ดีที่สุดในปี 2024 ในบทช่วยสอนนี้ คุณสามารถเรียนรู้ พิมพ์ไปที่หน้าจอ,อ่านใส่แป้นพิมพ์,การเปิดและปิดไฟล์,แอตทริบิวต์แฟ้มวัตถุ,ตำแหน่งที่ตั้งของแฟ้ม,เปลี่ยนชื่อและลบไฟล์,งูหลามในไดเรกทอรี:,ไฟล์ไดเรกทอรีวิธีการที่เกี่ยวข้อง,
บทนี้จะอธิบายทั้งหมดที่ฉันพื้นฐาน / O ฟังก์ชั่นฟังก์ชั่นเพิ่มเติมโปรดดูที่เอกสารมาตรฐานหลาม
วิธีที่ง่ายที่สุดคือการใช้การส่งออกคำสั่งพิมพ์คุณสามารถผ่านมันเป็นศูนย์หรือมากกว่าการแสดงออกคั่นด้วยเครื่องหมายจุลภาค ฟังก์ชั่นนี้จะแปลงการแสดงออกผ่านการแสดงออกสตริงและผลจะเขียนออกมาตรฐานดังต่อไปนี้:
#!/usr/bin/python # -*- coding: UTF-8 -*- print "Python 是一个非常棒的语言,不是吗?";
จะให้ผลลัพธ์ที่ต่อไปนี้บนหน้าจอของคุณมาตรฐาน:
Python 是一个非常棒的语言,不是吗?
งูหลามมีสองฟังก์ชั่นในการอ่านบรรทัดของการป้อนข้อความจากมาตรฐานเข้ามาตรฐานเริ่มต้นคือแป้นพิมพ์ ดังต่อไปนี้:
raw_input ([พรอมต์]) ฟังก์ชั่นในการอ่านบรรทัดจากอินพุตมาตรฐาน A และส่งกลับสตริง (ต่อท้ายบรรทัดใหม่ออก):
#!/usr/bin/python # -*- coding: UTF-8 -*- str = raw_input("请输入:"); print "你输入的内容是: ", str
นี้จะแจ้งให้คุณป้อนสตริงใด ๆ แล้วแสดงสายเดียวกันบนหน้าจอ "Hello! งูใหญ่" เมื่อฉันพิมพ์, เอาท์พุทจะเป็นดังนี้:
请输入:Hello Python! 你输入的内容是: Hello Python!
การป้อนข้อมูล ([พรอมต์]) ฟังก์ชั่นและ raw_input ([พรอมต์]) ฟังก์ชั่นที่คล้ายกันอย่างมีนัยสำคัญ แต่การป้อนข้อมูลจะได้รับการแสดงออกหลามเป็น input และผลตอบแทนของการดำเนินการ
#!/usr/bin/python # -*- coding: UTF-8 -*- str = input("请输入:"); print "你输入的内容是: ", str
นี้ก่อให้เกิดผลลัพธ์ต่อไปนี้สอดคล้องกับการป้อนข้อมูล:
请输入:[x*5 for x in range(2,10,2)] 你输入的内容是: [10, 20, 30, 40]
ตอนนี้คุณสามารถอ่านและเขียนเพื่อเข้ามาตรฐานและการส่งออก ตอนนี้ให้ดูที่วิธีการอ่านและเขียนไฟล์ข้อมูลที่เกิดขึ้นจริง
งูใหญ่ยังมีฟังก์ชั่นที่จำเป็นและวิธีการสำหรับการเริ่มต้นของแฟ้มของการดำเนินงานขั้นพื้นฐานคุณสามารถใช้ไฟล์วัตถุที่ทำแฟ้มการดำเนินงานมากที่สุด
คุณต้องใช้งูหลามของในตัวเปิด () เพื่อเปิดไฟล์สร้างวัตถุไฟล์และวิธีการที่เกี่ยวข้องสามารถเรียกใช้มันในการอ่านและเขียน
ไวยากรณ์:
file object = open(file_name [, access_mode][, buffering])
รายละเอียดของพารามิเตอร์ต่างๆมีดังนี้
เปิดรายการสินค้าทั้งหมดในโหมดที่แตกต่างของไฟล์:
โหมด | ลักษณะ |
---|---|
R | เปิดแฟ้มในโหมดอ่านอย่างเดียว ไฟล์ตัวชี้จะถูกวางไว้ที่จุดเริ่มต้นของไฟล์ นี้เป็นโหมดเริ่มต้น |
RB | เปิดไฟล์เพียงการอ่านในรูปแบบไบนารี จะยื่นชี้ที่จุดเริ่มต้นของไฟล์ นี้เป็นโหมดเริ่มต้น |
R + | เปิดไฟล์สำหรับการอ่านและการเขียน จะยื่นชี้ที่จุดเริ่มต้นของไฟล์ |
RB + | เปิดไฟล์สำหรับการอ่านและการเขียนในรูปแบบไบนารี จะยื่นชี้ที่จุดเริ่มต้นของไฟล์ |
W | เปิดไฟล์สำหรับการเขียนเท่านั้น ถ้าไฟล์ที่มีอยู่แล้วมันจะถูกเขียนทับ ถ้าไฟล์ไม่อยู่สร้างไฟล์ใหม่ |
WB | เปิดไฟล์สำหรับการเขียนในรูปแบบไบนารีเท่านั้น ถ้าไฟล์ที่มีอยู่แล้วมันจะถูกเขียนทับ ถ้าไฟล์ไม่อยู่สร้างไฟล์ใหม่ |
W + | เปิดไฟล์สำหรับการอ่านและการเขียน ถ้าไฟล์ที่มีอยู่แล้วมันจะถูกเขียนทับ ถ้าไฟล์ไม่อยู่สร้างไฟล์ใหม่ |
WB + | เปิดไฟล์สำหรับการอ่านและการเขียนในรูปแบบไบนารี ถ้าไฟล์ที่มีอยู่แล้วมันจะถูกเขียนทับ ถ้าไฟล์ไม่อยู่สร้างไฟล์ใหม่ |
เปิดไฟล์สำหรับการผนวก ถ้าไฟล์ที่มีอยู่แล้วชี้แฟ้มจะถูกวางไว้ในตอนท้ายของแฟ้ม ในคำอื่น ๆ หลังจากที่เนื้อหาใหม่จะถูกเขียนไปยังเนื้อหาที่มีอยู่ ถ้าไฟล์ไม่อยู่สร้างไฟล์ใหม่สำหรับการเขียน | |
AB | เปิดแฟ้มสำหรับการผนวกในรูปแบบไบนารี ถ้าไฟล์ที่มีอยู่แล้วชี้แฟ้มจะถูกวางไว้ในตอนท้ายของแฟ้ม ในคำอื่น ๆ หลังจากที่เนื้อหาใหม่จะถูกเขียนไปยังเนื้อหาที่มีอยู่ ถ้าไฟล์ไม่อยู่สร้างไฟล์ใหม่สำหรับการเขียน |
A + | เปิดไฟล์สำหรับการอ่านและการเขียน ถ้าไฟล์ที่มีอยู่แล้วชี้แฟ้มจะถูกวางไว้ในตอนท้ายของแฟ้ม มันจะผนวกโหมดแฟ้มถูกเปิด ถ้าไฟล์ไม่อยู่สร้างไฟล์ใหม่สำหรับการอ่านและการเขียน |
AB + | เปิดแฟ้มสำหรับการผนวกในรูปแบบไบนารี ถ้าไฟล์ที่มีอยู่แล้วชี้แฟ้มจะถูกวางไว้ในตอนท้ายของแฟ้ม ถ้าไฟล์ไม่อยู่สร้างไฟล์ใหม่สำหรับการอ่านและการเขียน |
หลังจากที่มีเปิดแฟ้มคุณมีวัตถุไฟล์ที่คุณจะได้รับทุกชนิดของข้อมูลเกี่ยวกับไฟล์
ต่อไปนี้เป็นรายการของแฟ้มคุณลักษณะทั้งหมดและวัตถุที่เกี่ยวข้องกับ:
คุณสมบัติ | ลักษณะ |
---|---|
file.closed | ผลตอบแทนจริงถ้าภาพนี้ถูกปิดมิฉะนั้นก็จะส่งกลับเท็จ |
file.mode | กลับสู่โหมดการเข้าถึงไฟล์ที่เปิด |
file.name | ส่งกลับชื่อของไฟล์ |
file.softspace | หากใช้การพิมพ์ออกจะต้องตามด้วยอักขระช่องว่างก็จะส่งกลับเท็จ มิฉะนั้นก็จะส่งกลับจริง |
ตัวอย่างต่อไปนี้:
#!/usr/bin/python # -*- coding: UTF-8 -*- # 打开一个文件 fo = open("foo.txt", "wb") print "文件名: ", fo.name print "是否已关闭 : ", fo.closed print "访问模式 : ", fo.mode print "末尾是否强制加空格 : ", fo.softspace
ตัวอย่างของการส่งออกดังกล่าวข้างต้น:
文件名: foo.txt 是否已关闭 : False 访问模式 : wb 末尾是否强制加空格 : 0
ใกล้วัตถุไฟล์ () วิธีการรีเฟรชข้อมูลใด ๆ ได้เขียนบัฟเฟอร์และปิดแฟ้มหลังจากที่พวกเขาไม่สามารถเขียน
เมื่ออ้างอิงวัตถุไฟล์ที่จะ re-รับมอบหมายให้เป็นไฟล์อื่นหลามจะปิดแฟ้มก่อนหน้านี้ ด้วยความใกล้ชิด () วิธีการปิดแฟ้มเป็นนิสัยที่ดี
ไวยากรณ์:
fileObject.close();
ตัวอย่าง:
#!/usr/bin/python # -*- coding: UTF-8 -*- # 打开一个文件 fo = open("foo.txt", "wb") print "文件名: ", fo.name # 关闭打开的文件 fo.close()
ตัวอย่างของการส่งออกดังกล่าวข้างต้น:
文件名: foo.txt
อ่านและเขียนไฟล์:
วัตถุไฟล์ให้จำนวนของวิธีการที่ช่วยให้เราสามารถเข้าถึงไฟล์ได้ง่ายขึ้น ดูวิธีการใช้อ่าน () และเขียน () วิธีการอ่านและเขียนไฟล์
เขียน () วิธีการเขียนเปิดแฟ้มสตริง มันเป็นสิ่งสำคัญที่จะทราบว่าสตริงหลามสามารถเป็นข้อมูลไบนารีมากกว่าเพียงข้อความ
เขียน () วิธีการไม่เพิ่มขึ้นบรรทัดใหม่ในตอนท้ายของสตริง ( '\ n') นี้:
ไวยากรณ์:
fileObject.write(string);
นี่พารามิเตอร์ที่จะถูกส่งผ่านคือการเขียนเพื่อเปิดเนื้อหาของไฟล์
ตัวอย่าง:
#!/usr/bin/python # -*- coding: UTF-8 -*- # 打开一个文件 fo = open("foo.txt", "wb") fo.write( "www.w3write.com!\nVery good site!\n"); # 关闭打开的文件 fo.close()
วิธีการข้างต้นอธิบายสร้างแฟ้ม foo.txt และเขียนเนื้อหาของเอกสารที่ได้รับและในที่สุดก็ปิดแฟ้ม ถ้าคุณเปิดแฟ้มนี้คุณจะได้เห็นต่อไปนี้:
$ cat foo.txt www.w3write.com! Very good site!
อ่าน () วิธีการอ่านสตริงจากไฟล์ที่เปิด มันเป็นสิ่งสำคัญที่จะทราบว่าสตริงหลามสามารถเป็นข้อมูลไบนารีมากกว่าเพียงข้อความ
ไวยากรณ์:
fileObject.read([count]);
นี่อาร์กิวเมนต์จะถูกส่งผ่านจากแฟ้มที่เปิดนับไบต์อ่าน วิธีการเริ่มต้นจากจุดเริ่มต้นของไฟล์ที่จะอ่านหากไม่นับที่เข้ามาก็จะพยายามที่จะอ่านเป็นเนื้อหาที่มากขึ้นอาจจะจนกว่าจะสิ้นสุดของแฟ้ม
ที่นี่เราใช้ไฟล์ foo.txt ที่สร้างขึ้นดังกล่าวข้างต้น
#!/usr/bin/python # -*- coding: UTF-8 -*- # 打开一个文件 fo = open("foo.txt", "r+") str = fo.read(10); print "读取的字符串是 : ", str # 关闭打开的文件 fo.close()
ตัวอย่างของการส่งออกดังกล่าวข้างต้น:
读取的字符串是 : www.w3big
สถานที่ตั้งของไฟล์:
บอก () วิธีบอกคุณที่ตั้งปัจจุบันภายในไฟล์นั้นในคำอื่น ๆ ต่อไปอ่านหรือเขียนจะเกิดขึ้นหลังจากที่เริ่มต้นของแฟ้มไบต์จำนวนมากดังนั้น
แสวงหา (offset [จาก]) วิธีการเปลี่ยนตำแหน่งของไฟล์ปัจจุบัน ตัวแปร Offset ระบุจำนวนไบต์ที่ถูกย้าย จากจุดเริ่มต้นที่จะย้ายตัวแปรไบต์ระบุตำแหน่งอ้างอิง
ถ้าจากตั้งค่าเป็น 0 ซึ่งหมายถึงจุดเริ่มต้นของแฟ้มเป็นตำแหน่งอ้างอิงที่จะย้ายไบต์ ถ้าตั้งค่าเป็น 1 ตำแหน่งปัจจุบันเป็นตำแหน่งอ้างอิง ถ้ามันถูกตั้งไว้ที่ 2 จากนั้นในตอนท้ายของไฟล์ที่จะใช้เป็นตำแหน่งอ้างอิง
ตัวอย่าง:
ในไฟล์ของเราสร้างขึ้น foo.txt
#!/usr/bin/python # -*- coding: UTF-8 -*- # 打开一个文件 fo = open("foo.txt", "r+") str = fo.read(10); print "读取的字符串是 : ", str # 查找当前位置 position = fo.tell(); print "当前文件位置 : ", position # 把指针再次重新定位到文件开头 position = fo.seek(0, 0); str = fo.read(10); print "重新读取字符串 : ", str # 关闭打开的文件 fo.close()
ตัวอย่างของการส่งออกดังกล่าวข้างต้น:
读取的字符串是 : www.w3big 当前文件位置 : 10 重新读取字符串 : www.w3big
ธ โมดูล OS ให้เพื่อช่วยให้คุณดำเนินการไฟล์วิธีการดำเนินการประมวลผลเช่นการเปลี่ยนชื่อและลบไฟล์
ที่จะใช้โมดูลนี้คุณจะต้องนำเข้าก่อนที่คุณจะสามารถเรียกฟังก์ชั่นต่างๆที่เกี่ยวข้อง
เปลี่ยนชื่อ () วิธีการ:
เปลี่ยนชื่อ () วิธีการต้องใช้สองพารามิเตอร์ชื่อไฟล์ปัจจุบันและชื่อไฟล์ใหม่
ไวยากรณ์:
os.rename(current_file_name, new_file_name)
ตัวอย่าง:
ตัวอย่างต่อไปนี้จะเปลี่ยนชื่อไฟล์ที่มีอยู่แล้ว Test1.txt
#!/usr/bin/python # -*- coding: UTF-8 -*- import os # 重命名文件test1.txt到test2.txt。 os.rename( "test1.txt", "test2.txt" )
คุณสามารถใช้ลบ () วิธีการลบไฟล์ที่คุณจำเป็นต้องให้ชื่อของไฟล์ที่จะลบเป็นพารามิเตอร์
ไวยากรณ์:
os.remove(file_name)
ตัวอย่าง:
ตัวอย่างต่อไปนี้จะลบไฟล์ที่มีอยู่แล้ว test2.txt
#!/usr/bin/python # -*- coding: UTF-8 -*- import os # 删除一个已经存在的文件test2.txt os.remove("test2.txt")
ไฟล์ทั้งหมดที่มีอยู่ในไดเรกทอรีต่างๆ แต่งูใหญ่สามารถจัดการได้อย่างง่ายดาย OS โมดูลมีหลายวิธีที่จะช่วยให้คุณสามารถสร้างลบและเปลี่ยนไดเรกทอรี
คุณสามารถใช้ mkdir OS โมดูล () วิธีการสร้างไดเรกทอรีใหม่อยู่ในไดเรกทอรีปัจจุบัน คุณจำเป็นต้องให้พารามิเตอร์ที่มีชื่อของไดเรกทอรีที่จะสร้าง
ไวยากรณ์:
os.mkdir("newdir")
ตัวอย่าง:
ตัวอย่างต่อไปนี้จะสร้างการทดสอบไดเรกทอรีใหม่ในไดเรกทอรีปัจจุบัน
#!/usr/bin/python # -*- coding: UTF-8 -*- import os # 创建目录test os.mkdir("test")
คุณสามารถใช้ chdir () วิธีการเปลี่ยนไดเรกทอรีปัจจุบัน พารามิเตอร์ chdir () วิธีการกำหนดว่าคุณต้องการที่จะตั้งเป็นชื่อไดเรกทอรีของไดเรกทอรีปัจจุบัน
ไวยากรณ์:
os.chdir("newdir")
ตัวอย่าง:
ตัวอย่างต่อไปนี้จะเข้าสู่ "/ home / newdir directory"
#!/usr/bin/python # -*- coding: UTF-8 -*- import os # 将当前目录改为"/home/newdir" os.chdir("/home/newdir")
getcwd () วิธีการ:
getcwd () วิธีการแสดงไดเรกทอรีการทำงานปัจจุบัน
ไวยากรณ์:
os.getcwd()
ตัวอย่าง:
ตัวอย่างต่อไปนี้แสดงให้เห็นถึงไดเรกทอรีปัจจุบัน:
#!/usr/bin/python # -*- coding: UTF-8 -*- import os # 给出当前的目录 os.getcwd()
rmdir () วิธีการลบไดเรกทอรีชื่อไดเรกทอรีผ่านเป็นพารามิเตอร์
ก่อนที่จะลบไดเรกทอรีนี้และทุกเนื้อหาควรล้างครั้งแรก
ไวยากรณ์:
os.rmdir('dirname')
ตัวอย่าง:
ต่อไปนี้เป็นลบ "/ tmp / test" ตัวอย่างที่ไดเรกทอรี ครบชื่อไดเรกทอรีตามมาตรฐานจะต้องได้รับมิฉะนั้นมันจะค้นหาไดเรกทอรีในไดเรกทอรีปัจจุบัน
#!/usr/bin/python # -*- coding: UTF-8 -*- import os # 删除”/tmp/test”目录 os.rmdir( "/tmp/test" )
สามวิธีสามารถเป็นแหล่งสำคัญของไฟล์และไดเรกทอรีบน Windows และ Unix ระบบปฏิบัติการดำเนินการที่หลากหลายของการจัดการการปฏิบัติและการจัดการดังนี้