ฟังก์ชันบางอย่างที่เราสรุปไว้ในโมดูลก่อนหน้านี้รองรับการทำงานขั้นสูงกับไฟล์และไดเร็กทอรี เราจะแนะนำวิธีใช้ฟังก์ชันเหล่านี้ในส่วนนี้
เมื่อเราใช้ไฟล์หรือไดเร็กทอรี เราไม่สามารถแยกออกจากการดำเนินการเปลี่ยนชื่อได้เสมอ บางครั้งเราสามารถเลือกที่จะสร้างการเขียนทับได้โดยตรง แต่เมื่อไฟล์ที่มีอยู่ของเราเก็บข้อมูลจำนวนมาก เราจำเป็นต้องเปลี่ยนชื่อการดำเนิน การ .rename() ในโมดูลระบบปฏิบัติการ นักเรียนที่ใช้ Pycharm จะพบว่าชื่อสำหรับการเปลี่ยนชื่อไฟล์ด้วยตนเองใน Pyacharm นั้นก็ถูกเปลี่ยนชื่อเช่นกัน รูปแบบการเปลี่ยนชื่อในโปรแกรมคือ:
os.เปลี่ยนชื่อ(src,dst)
src คือชื่อไฟล์หรือไดเร็กทอรีที่เปลี่ยนแปลง และ dst คือชื่อใหม่
ดูตัวอย่างต่อไปนี้:
ขั้นแรกให้สร้างโฟลเดอร์:
importosprint(os.getcwd())#หากไม่ทราบไดเรกทอรีปัจจุบัน ให้ส่งออกไดเรกทอรีปัจจุบันก่อน os.mkdir(r'C:UsersQingyanPycharmProjectsuntitled1teachnew')#ให้ความสนใจกับ r นี้ หากมีเนื้อหาเช่น tn ให้เพิ่ม r ข้างหน้า
จากนั้นเราดำเนินการเปลี่ยนชื่อ:
importosos.rename(r'C:UsersQingyanPycharmProjectsuntitled1teachnew',r'C:UsersQingyanPycharmProjectsuntitled1teachnewname')
เราทุกคนใช้เส้นทางที่แน่นอนเมื่อเปลี่ยนชื่อ วิธีการนี้เข้มงวดกว่า จะดีกว่าถ้าเพิ่ม 'r' ไว้ข้างหน้า และฉันจะไม่แนะนำมันมากเกินไปที่นี่ ไดเร็กทอรี เพียงใส่ใจกับส่วนต่อท้าย
เมื่อลบไฟล์ เราใช้ฟังก์ชัน os.remove() ในโมดูลระบบปฏิบัติการ รูปแบบไวยากรณ์คือ:
os.remove (เส้นทาง)
Path คือเส้นทางของไฟล์ที่เราต้องการลบ คุณสามารถใช้เส้นทางสัมพัทธ์หรือเส้นทางที่แน่นอนในการใช้งานคือการใช้เส้นทางที่แน่นอนเพราะเมื่อไฟล์ที่ต้องการลบไม่อยู่ในปัจจุบัน ไดเร็กทอรีการทำงาน ข้อยกเว้นจะถูกส่งออกไป
ดูรหัสด้านล่าง:
หลังจากทำงาน:
เราใช้เส้นทางสัมพัทธ์และเส้นทางสัมพัทธ์เพื่อลบไฟล์สองไฟล์ในไดเร็กทอรีปัจจุบัน จะเกิดอะไรขึ้นหากเราใช้พาธสัมพัทธ์เพื่อลบไฟล์ในไดเร็กทอรีที่ไม่ใช่ปัจจุบัน
รหัสมีดังนี้:
importosos.remove('tst.py')
ผลการวิ่ง:
Traceback(mostrecentcalllast):FileC:/Users/Qingyan/PycharmProjects/untitled1/teach/test.py,line2,in<module>os.remove('tst.py')FileNotFoundError:[WinError2]ระบบไม่พบเอกสารที่ระบุ . :'tst.py'
ดังนั้นจึงเป็นการดีที่สุดที่จะใช้พาธสัมบูรณ์ในการลบไฟล์:
importosos.remove(r'C:UsersQingyanPycharmProjectsuntitled1venvtst.py')
หลายครั้งเราจำเป็นต้องใช้โปรแกรมเพื่อรับข้อมูลบางอย่างเกี่ยวกับไฟล์ปัจจุบัน เช่น เวลาที่เปลี่ยนแปลงล่าสุดหรือขนาดไฟล์
เราใช้เมธอด os.stat() ในโมดูลระบบปฏิบัติการเพื่อรับข้อมูลที่เกี่ยวข้อง
มาเรียนรู้วิธีใช้วิธีนี้โดยตรงผ่านตัวอย่าง:
importosfile=os.stat('test.py')print(os.path.abspath('test.py'))#เส้นทางการเข้าถึง พิมพ์ครั้งแรก(file.st_dev)#พิมพ์หมายเลขอุปกรณ์(file.st_size)#พิมพ์ขนาดไฟล์ (file.st_atime)#พิมพ์การเข้าถึงครั้งล่าสุด(file.st_mtime)#เวลาที่แก้ไขล่าสุด
ผลลัพธ์คือ:
C:UsersQingyanPycharmProjectsuntitled1teachtest.py10109555972391580789484.6353131580789484.635313
ทั้งหมดนี้เกี่ยวกับการดำเนินการที่เกี่ยวข้องของไฟล์และไดเร็กทอรี ไม่ว่าเราจะใช้ภาษา C หรือ C++ หรือ Java การพัฒนาโครงการก็ไม่สามารถแยกออกจากการจัดการไฟล์และไดเร็กทอรีได้ เนื้อหาที่เกี่ยวข้องกับการพัฒนาจริงจะเป็น More โดยการเรียนรู้พื้นฐานเหล่านี้ การดำเนินงานจะเป็นประโยชน์อย่างมากต่อการศึกษาในอนาคต