ส่วนของเว็บไซต์
ตัวเลือกของบรรณาธิการ:
- การสร้างทางลัดบนเดสก์ท็อปสำหรับเพื่อนร่วมชั้น
- หากรองเท้าไม่พอดีกับ Aliexpress: การกระทำที่ถูกต้องในกรณีนี้ ผลิตภัณฑ์ Aliexpress มีขนาดที่เหมาะสม
- ข้อพิพาทใน AliExpress เข้าร่วมข้อพิพาทใน AliExpress
- 3 ฐานข้อมูลแบบกระจาย
- ผู้จัดการเนื้อหา - ความรับผิดชอบ เงินเดือน การฝึกอบรม ข้อเสียและข้อดีของการทำงานเป็นผู้เชี่ยวชาญด้านเนื้อหา
- จะป้องกันตัวเองจากการขุดที่ซ่อนอยู่ในเบราว์เซอร์ของคุณได้อย่างไร?
- การกู้คืนรหัสผ่านใน Ask
- วิธีเปิดกล้องบนแล็ปท็อป
- ทำไมเพลงไม่เล่นบน VKontakte?
- วิธีเพิ่มขนาดของไดรฟ์ C โดยเสียค่าใช้จ่ายของไดรฟ์ D โดยไม่สูญเสียข้อมูล
การโฆษณา
ระดับสูง รายการใน Python |
ใน Python ตัวสร้างแบบธรรมดาและตัวสร้างรายการเป็นสองสิ่งที่แตกต่างกัน มีปัญหาในการแปลจากภาษาอังกฤษ ที่เราเคยเรียกว่า list Generator ในภาษาอังกฤษมีเสียงประมาณว่า " รายการความเข้าใจ“และไม่เกี่ยวอะไรกับเครื่องกำเนิดไฟฟ้า คำว่า "ความเข้าใจ" (ความเข้าใจ ความเข้าใจ) ดูเหมือนจะไม่อยู่ในหัวข้อเมื่อแปลเป็นภาษารัสเซีย ปรากฎบางอย่างเช่น "รายการความเข้าใจ" ดังนั้นเราจึงพูดว่า "ตัวสร้างรายการ" ซึ่งหมายถึงคำว่า "ตัวสร้าง" ไม่ใช่วัตถุ แต่เป็นโครงสร้างทางวากยสัมพันธ์ที่สร้างนั่นคือสร้างรายการ ในทางกลับกัน ออบเจ็กต์ตัวสร้างเป็นออบเจ็กต์ฟังก์ชันพิเศษที่คงสถานะไว้ระหว่างการโทร ใน for loop พวกมันจะทำงานเหมือนอ็อบเจ็กต์ที่สามารถทำซ้ำได้ ซึ่งรวมถึงรายการ พจนานุกรม สตริง ฯลฯ อย่างไรก็ตาม ตัวสร้างรองรับเมธอด __next__() ซึ่งหมายความว่าพวกมันคือประเภทของตัววนซ้ำ วิธีที่รวดเร็วในการสร้างวัตถุตัวสร้างที่ค่อนข้างง่ายคือนิพจน์ตัวสร้าง - การแสดงออกของเครื่องกำเนิด- ไวยากรณ์ของนิพจน์เหล่านี้คล้ายคลึงกับตัวสร้างรายการ อย่างไรก็ตามพวกเขากลับมา ประเภทต่างๆวัตถุ อย่างแรกคือวัตถุตัวกำเนิด ประการที่สองคือรายการ มาดูตัวสร้างรายการก่อนเพื่อทำความคุ้นเคยกับโครงสร้างวากยสัมพันธ์ เครื่องกำเนิดรายการใน Python ตัวสร้างรายการช่วยให้คุณสร้างและเติมรายการได้อย่างรวดเร็ว การสร้างวากยสัมพันธ์ของตัวสร้างรายการจะถือว่ามีอ็อบเจ็กต์หรือตัววนซ้ำที่สามารถทำซ้ำได้ บนพื้นฐานของสิ่งนั้นจะถูกสร้างขึ้น รายการใหม่เช่นเดียวกับนิพจน์ที่จะทำบางอย่างกับองค์ประกอบที่ดึงมาจากลำดับก่อนที่จะเพิ่มลงในรายการที่สร้างขึ้น >>> a = [ 1 , 2 , 3 ] >>> b = [ i+10 สำหรับ i ใน a] >>> a [ 1 , 2 , 3 ] >>> b [ 11 , 12 , 13 ] ในตัวอย่างข้างต้น ตัวสร้างรายการคือนิพจน์ นี่คือวัตถุที่สามารถทำซ้ำได้ ในกรณีนี้จะเป็นรายการอื่น แต่ละองค์ประกอบจะถูกดึงออกมาใน for loop ก่อนหน้านั้น มีการอธิบายการดำเนินการที่ดำเนินการกับองค์ประกอบก่อนที่จะเพิ่มลงในรายการใหม่ โปรดทราบว่าตัวสร้างจะสร้างรายการใหม่และไม่แก้ไขรายการที่มีอยู่ หากคุณต้องการเปลี่ยนตัวแปรปัจจุบัน คุณจะต้องกำหนดค่าใหม่ให้กับตัวแปรดังกล่าว: >>> a = [ 1 , 2 , 3 ] >>> a = [ i+10 สำหรับ i ใน a] >>> a [ 11 , 12 , 13 ] ตัวสร้างรายการถูกจัดประเภทเป็น "น้ำตาลเชิงวากยสัมพันธ์" ของภาษา การเขียนโปรแกรมหลาม- กล่าวอีกนัยหนึ่งคุณสามารถทำได้โดยไม่มีสิ่งเหล่านั้น: >>> สำหรับดัชนี ค่าในรูปแบบแจกแจง (a) : ... a [ index] = value + 10 ... >>> a [ 11 , 12 , 13 ] หากโปรแกรมสามารถมีการอ้างอิงหลายรายการ ต้องใช้เครื่องกำเนิดไฟฟ้าอย่างระมัดระวัง: >>> ls0 = [ 1 , 2 , 3 ] >>> ls1 = ls0 >>> ls1.ผนวก (4 ) >>> ls0 [ 1 , 2 , 3 , 4 ] >>> ls1 = [ i+1 สำหรับ ฉันอยู่ใน ls1] >>> ls1 [ 2 , 3 , 4 , 5 ] >>> ls0 [ 1 , 2 , 3 , 4 ] ที่นี่เราถือว่าการเปลี่ยนแปลงรายการผ่านตัวแปรหนึ่งจะมองเห็นได้ผ่านอีกตัวแปรหนึ่ง อย่างไรก็ตาม หากคุณเปลี่ยนรายการด้วยตัวสร้าง ตัวแปรจะชี้ไปยังรายการอื่น วัตถุที่วนซ้ำใน for loop อาจเป็นได้มากกว่าแค่รายการ ในตัวอย่างด้านล่าง บรรทัดจากไฟล์จะถูกวางลงในรายการ >>> เส้น = [ line.strip () สำหรับบรรทัดที่เปิด ("text.txt" ) ] >>> เส้น [ "หนึ่ง" , "สอง" , "สาม" ] คุณสามารถเพิ่มเงื่อนไขให้กับตัวสร้างรายการได้: >>> จากการนำเข้าแบบสุ่ม randint >>> nums = [ randint(10 , 20 ) สำหรับฉันในช่วง (10 ) ] >>> nums [ 18 , 17 , 11 , 11 , 15 , 18 , 11 , 20 , 10 , 19 ] >>> nums = [ i สำหรับ i เป็น nums ถ้า i%2 == 0 ] >>> nums [ 18 , 18 , 20 , 10 ] ตัวสร้างรายการสามารถมีลูปแบบซ้อนได้: >>> a = "12" >>> b = "3" >>> c = "456" >>> หวี = [ i+j+k สำหรับ i ใน a สำหรับ j ใน b สำหรับ k ใน c] >> > หวี [ "134" , "135" , "136" , "234" , "235" , "236" ] พจนานุกรมและชุดเครื่องกำเนิดไฟฟ้าหากคุณแทนที่วงเล็บเหลี่ยมด้วยวงเล็บปีกกาในนิพจน์ตัวสร้างรายการ คุณจะไม่ได้รับรายการ แต่เป็นพจนานุกรม: >>> a = ( i:i**2 สำหรับฉันอยู่ในช่วง (11, 15) ) >>> a ( 11: 121, 12: 144, 13: 169, 14: 196) ในกรณีนี้ ไวยากรณ์ของนิพจน์ที่อยู่หน้า for จะต้องสอดคล้องกับพจนานุกรม กล่าวคือ รวมคีย์และค่าที่คั่นด้วยเครื่องหมายทวิภาค หากไม่เป็นเช่นนั้น ชุดจะถูกสร้างขึ้น: >>> a = ( i สำหรับฉันอยู่ในช่วง (11 , 15 ) ) >>> ชุด ([ 11 , 12 , 13 , 14 ] ) >>> b = ( 1 , 2 , 3 ) >>> b ชุด ([ 1 , 2 , 3 ] ) เครื่องกำเนิดไฟฟ้านิพจน์ที่สร้างอ็อบเจ็กต์ตัวสร้างจะคล้ายกับนิพจน์ที่สร้างรายการ พจนานุกรม และชุด โดยมีข้อยกเว้นหนึ่งประการ ในการสร้างวัตถุตัวสร้าง คุณต้องใช้วงเล็บ: >>> a = (i สำหรับฉันอยู่ในช่วง (2 , 8 ) ) >>> a< generator object < genexpr>ที่ 0x7efc88787910 > >>> สำหรับฉันใน: ... พิมพ์ (i) ... 2 3 4 5 6 7 จะไม่สามารถวนซ้ำผ่านตัวสร้างเป็นครั้งที่สองใน for loop ได้เนื่องจากวัตถุตัวสร้างได้สร้างค่าทั้งหมดตาม "สูตร" ที่ฝังอยู่ในนั้นแล้ว ดังนั้น เครื่องกำเนิดไฟฟ้ามักจะใช้เมื่อคุณต้องการวนซ้ำอ็อบเจ็กต์ที่ทำซ้ำได้หนึ่งครั้ง นอกจากนี้ เครื่องกำเนิดไฟฟ้ายังประหยัดหน่วยความจำ เนื่องจากไม่ได้เก็บค่าทั้งหมดของรายการขนาดใหญ่ แต่มีเพียงองค์ประกอบก่อนหน้า ขีด จำกัด และสูตรที่ใช้ในการคำนวณองค์ประกอบถัดไป นิพจน์ที่สร้างตัวสร้างเป็นเวอร์ชันชวเลขดังต่อไปนี้: >>> def func(เริ่มต้น, สิ้นสุด) : ... ในขณะที่เริ่มต้น< finish: ... yield start * 0.33 ... start += 1 ... >>> a = func(1 , 4 ) >>> ก< generator object func at 0x7efc88787a50 >>>> สำหรับฉัน ใน: ... พิมพ์ (i) ... 0.33 0.66 0.99 หากคุณไม่จำเป็นต้องใช้ฟังก์ชันหลายครั้ง การใช้นิพจน์จะง่ายกว่า: >>> b = (i*0.33 สำหรับฉัน อยู่ในช่วง (1 , 4 ) ) >>> b< generator object < genexpr>ที่ 0x7efc88787960 > >>> สำหรับฉัน ใน b: ... พิมพ์ (i) ... 0.33 0.66 0.99 | |ความเข้าใจรายการช่วยให้คุณสร้างรายการตามรายการที่มีอยู่ได้อย่างรวดเร็ว เมื่อใช้ตัวสร้าง คุณสามารถสร้างรายการตามประเภทข้อมูลที่ทำซ้ำได้ (เช่น สตริงหรือสิ่งอันดับ) ด้วยเหตุนี้ ลูปจะสร้างรายการเดียวกัน: ["8", "h", "o", "s", "t"] นิพจน์แบบมีเงื่อนไขในตัวสร้างรายการตัวสร้างรายการสามารถใช้นิพจน์แบบมีเงื่อนไขเพื่อแก้ไขรายการที่มีอยู่หรือชนิดข้อมูลตามลำดับอื่นๆ ส่งผลให้เกิดรายการใหม่ ลองดูตัวสร้างที่มีคำสั่ง if: fish_tuple = ("ปลาปักเป้า", "ปลาการ์ตูน", "ปลาดุก", "ปลาหมึกยักษ์") รายการใช้ทูเพิล fish_tuple เป็นพื้นฐานสำหรับ fish_list ใหม่ คำสำคัญ for และ in ถูกใช้ในลักษณะเดียวกับขนาดก่อนหน้า นอกจากนี้ ตัวสร้างยังมีคำสั่ง if ซึ่งทำให้แยกสตริง 'octopus' ออกจากรายการ ค้นหาเนื้อหาของ fish_list และตรวจสอบให้แน่ใจว่ามีองค์ประกอบ fish_tuple ทั้งหมด ยกเว้น 'octopus' ["ปลาปักเป้า", "ปลาการ์ตูน", "ปลาดุก"] อย่างที่คุณเห็น การใช้นิพจน์แบบมีเงื่อนไขทำให้คุณสามารถแยกองค์ประกอบบางอย่างออกจากรายการใหม่ได้ ตอนนี้เรามาดูอีกตัวอย่างหนึ่งที่ใช้การดำเนินการทางคณิตศาสตร์ ตัวเลข และเมธอด range()
อ่านเพิ่มเติม: รายการใหม่ number_list จะมีค่ากำลังสองของแต่ละองค์ประกอบคู่ในช่วงตั้งแต่ 0-9 ผลลัพธ์จะเป็นรายการดังนี้: ลองดูตัวอย่างนี้ทีละขั้นตอน ถ้าแทนที่จะเป็น x ** 2 สำหรับ x เราใช้แค่ x สำหรับ x รายการจะมีลักษณะดังนี้: number_list= หลังจากนั้น นิพจน์แบบมีเงื่อนไขจะถูกเพิ่มเข้าไปในตัวสร้าง: number_list= คำสั่ง if จะตัดเลขคี่ทั้งหมดออกจากรายการ ตอนนี้สิ่งที่เหลืออยู่คือการเพิ่มตัวดำเนินการที่จะยกกำลังสององค์ประกอบทั้งหมด: number_list= ตอนนี้แต่ละองค์ประกอบของรายการจะถูกยกกำลังสอง คุณยังสามารถใช้คำสั่งซ้อนกันได้หากในตัวสร้าง: number_list= วันนี้ผมจะพูดถึงประเภทข้อมูลเช่น รายการการดำเนินการกับรายการเหล่านั้นและวิธีการ เกี่ยวกับตัวสร้างรายการและการใช้รายการ รายการอะไรบ้าง?รายการใน Python ได้รับการเรียงลำดับ คอลเลกชันอ็อบเจ็กต์ประเภทต่างๆ ที่ไม่แน่นอน (คล้ายกับอาร์เรย์ แต่ประเภทอาจแตกต่างกัน) หากต้องการใช้รายการ คุณจะต้องสร้างรายการเหล่านั้น มีหลายวิธีในการสร้างรายการ ตัวอย่างเช่น คุณสามารถประมวลผลอ็อบเจ็กต์ที่สามารถทำซ้ำได้ (เช่น ) ด้วยฟังก์ชันในตัว รายการ: >>> รายการ ("รายการ") ["รายการ"]คุณยังสามารถสร้างรายการโดยใช้ตัวอักษร: >>> s = # รายการว่าง >>> l = [ "s" , "p" , [ "isok" ], 2 ] >>> s >>> l ["s", "p", ["isok" "], 2]ดังที่คุณเห็นจากตัวอย่าง รายการสามารถมีออบเจ็กต์จำนวนเท่าใดก็ได้ (รวมถึงรายการที่ซ้อนกัน) หรือไม่มีอะไรเลย และอีกวิธีหนึ่งในการสร้างรายการก็คือ เครื่องกำเนิดรายการ- ตัวสร้างรายการเป็นวิธีหนึ่งในการสร้างรายการใหม่โดยใช้นิพจน์กับแต่ละองค์ประกอบของลำดับ ตัวสร้างรายการมีความคล้ายคลึงกับการวนซ้ำมาก >>> c = [ c * 3 สำหรับ c ใน "รายการ" ] >>> c ["lll", "iii", "sss", "ttt"]การออกแบบตัวสร้างรายการที่ซับซ้อนมากขึ้นก็เป็นไปได้เช่นกัน: >>> c = [ c * 3 สำหรับ c ใน "รายการ" ถ้า c != "i" ] >>> c ["lll", "sss", "ttt"] >>> c = [ c + d สำหรับ c ใน "รายการ" ถ้า c != "i" สำหรับ d ใน "สแปม" if d != "a" ] >>> c ["ls", "lp", "lm", "ss", "sp", "sm", "ts", "tp", "tm"]แต่ในกรณีที่ยากลำบากควรใช้แบบปกติจะดีกว่า สำหรับวงเพื่อสร้างรายการ แสดงรายการฟังก์ชันและวิธีการสร้างแล้ว ตอนนี้คุณต้องทำอะไรบางอย่างกับรายการ มีวิธีการพื้นฐานและรายการสำหรับรายการ ตาราง "รายการวิธีการ"
ควรสังเกตว่าเมธอด list ต่างจาก , แก้ไขรายการเอง และดังนั้นจึงไม่จำเป็นต้องเขียนผลลัพธ์การดำเนินการลงในตัวแปรนี้ >>> ลิตร = [ 1 , 2 , 3 , 5 , 7 ] >>> ลิตร . เรียงลำดับ() >>> l >>> l = l เรียงลำดับ () >>> พิมพ์ (l) ไม่มีและสุดท้าย ตัวอย่างการทำงานกับรายการ: >>> a = [ 66.25 , 333 , 333 , 1 , 1234.5 ] >>> พิมพ์ ( a . count ( 333 ), a . count ( 66.25 ), a . count ( "x" )) 2 1 0 >>> ก. แทรก (2 , - 1 ) >>> ก ผนวก (333 ) >>> >>> ก. ดัชนี (333 ) 1 >>> ก . ลบ (333 ) >>> ก >>> ก. ย้อนกลับ() >>> >>> ก. เรียงลำดับ() >>> [-1, 1, 66.25, 333, 333, 1234.5]ในบางครั้ง เพื่อเพิ่มประสิทธิภาพการทำงาน รายการจะถูกแทนที่ด้วยรายการที่มีความยืดหยุ่นน้อยกว่ามาก ภาษาการเขียนโปรแกรม Pyrhon มีโครงสร้างวากยสัมพันธ์พิเศษที่ช่วยให้คุณสามารถสร้างรายการที่เสร็จสมบูรณ์ตามกฎบางอย่างได้ รายการที่สร้างขึ้นอาจแตกต่างกัน เนื้อหาของโครงสร้างอาจแตกต่างกันได้ ซึ่งเป็นเหตุผลว่าทำไมจึงเรียกว่าตัวสร้างรายการ สะดวกเนื่องจากรายการไม่ยาวเท่ากับวิธีการสร้างรายการแบบดั้งเดิม ตัวอย่างเช่น คุณต้องมีรายการจำนวนธรรมชาติจนถึงจำนวนเฉพาะ วิธีดั้งเดิมจะมีลักษณะดังนี้: >>> a = >>> for i อยู่ในช่วง(1,15): ... a.append(i) ... >>>รายการใช้โค้ดสามบรรทัด และเครื่องกำเนิดไฟฟ้าต้องการเพียงสิ่งเดียวเท่านั้น: >>> ก = >>> กโครงสร้างเป็นตัวสร้างรายการ การออกแบบทั้งหมดจะต้องอยู่ในรายการสี่เหลี่ยมจัตุรัส ซึ่งสะท้อนถึงการสร้างรายการ ภายในวงเล็บมีสามส่วน:
ลองดูตัวอย่าง>>> ก = >>> ข = >>> ขในสถานการณ์นี้ เราจะนำแต่ละรายการออกจากรายการแล้วยกกำลังสอง จากที่นี่:
ที่นี่เราใช้คีย์ในพจนานุกรม และผลิตภัณฑ์ของคีย์และค่าที่มีอยู่จะรวมอยู่ในรายการที่สร้างขึ้น >>> a = (1:10, 2:20, 3:30) >>> b = [] สำหรับฉัน ใน a] >>> b [, , ] >>> c = >>> cในกรณีนี้ รายการ b มีรายการที่ซ้อนกัน การละเว้นวงเล็บเหลี่ยมในนิพจน์ ] ในเครื่องมือสร้างจะส่งผลให้เกิดข้อผิดพลาด หากคุณต้องการรายการระดับเดียวที่มีคีย์จากค่าพจนานุกรม คุณจะต้องนำแต่ละรายการที่ซ้อนกันและรับแต่ละส่วนประกอบจากที่นั่น นี้จะกระทำโดยใช้โครงสร้างที่ซ้อนกัน ไวยากรณ์ดั้งเดิมสำหรับการสร้างรายการมีดังนี้: >>> c = >>> for i ใน b: ... สำหรับ j ใน i: ... c.append(j) ... >>> cตัวสร้างรายการสามารถเสริมด้วยโครงสร้าง if ได้ ตัวอย่างเช่น คุณต้องแยกตัวเลขทั้งหมดออกจากสตริง: >>> ก = "lsj94ksd231 9" >>> ข =หรือกรอกรายการด้วยตัวเลขที่เป็นทวีคูณของ 31 หรือ 30: >>> ก = >>> กการสร้างรายการด้วยวิธีนี้ง่ายและรวดเร็วยิ่งขึ้น แต่ไม่เหมาะสำหรับการแทนที่โครงสร้างที่ค่อนข้างซับซ้อน ตัวอย่างเช่น หากเงื่อนไขการตรวจสอบมีสาขาอื่น เงินหมดและยังมีอีกสองสามสัปดาห์ก่อนถึงวันจ่ายเงินเดือน? คุณสามารถยืมได้ แต่ถ้าคุณไม่มีใครล่ะ? อย่าไปธนาคารเพื่อขอสินเชื่อ ในกรณีนี้สินเชื่อรายย่อยจะช่วยคุณได้ เพียงไปที่เว็บไซต์ กรอกใบสมัคร (ง่ายและรวดเร็วมาก) แล้วคุณก็จะได้รับเงินในไม่กี่นาที! สะดวกรวดเร็วมาก และที่สำคัญ ไม่ต้องถามใคร! ภาษาการเขียนโปรแกรมทุกภาษามีคุณสมบัติอย่างหนึ่ง นั่นคือโครงสร้างที่ซับซ้อน แต่เป็นสิ่งที่ทำให้ง่ายขึ้นเป็นพิเศษ หากคุณเคยเขียนเป็นภาษาอื่นมาก่อน คุณอาจไม่สนใจเรื่องนี้ เนื่องจากคุณ ภาษาเก่าไม่ได้ทำให้สิ่งนี้ง่ายขึ้นมากนัก (เพราะเขายุ่งอยู่กับการทำให้สิ่งอื่นง่ายขึ้นมาก) ในบทนี้ คุณจะได้เรียนรู้รายการ พจนานุกรม และตัวสร้างการตั้งค่า—แนวคิดสามประการที่เกี่ยวข้องกันซึ่งมีศูนย์กลางอยู่ที่เทคโนโลยีอันทรงพลังเพียงหนึ่งเดียว แต่ก่อนอื่น ฉันต้องการอ้อมเล็กน้อยเพื่อบอกคุณเกี่ยวกับสองโมดูลที่จะช่วยคุณนำทางระบบไฟล์ในเครื่องของคุณ การทำงานกับไฟล์และไดเร็กทอรีPython 3 มาพร้อมกับโมดูล ระบบปฏิบัติการซึ่งหมายความว่า " ระบบปฏิบัติการ- มีฟังก์ชันมากมายสำหรับรับข้อมูลเกี่ยวกับไดเร็กทอรี ไฟล์ กระบวนการและในเครื่อง ตัวแปรสภาพแวดล้อม(และในบางกรณีก็เพื่อจัดการพวกมัน) Python นำเสนอการรวมเป็นหนึ่งเดียวที่ดีมาก อินเทอร์เฟซซอฟต์แวร์สำหรับ ระบบปฏิบัติการที่รองรับทั้งหมดเพื่อให้โปรแกรมของคุณสามารถทำงานบนคอมพิวเตอร์เครื่องใดก็ได้โดยใช้โค้ดขั้นต่ำที่ขึ้นอยู่กับแพลตฟอร์ม ไดเร็กทอรีการทำงานปัจจุบันเมื่อคุณเริ่มเรียน Python ครั้งแรก คุณจะใช้เวลาไปกับมันมาก เชลล์ Python แบบโต้ตอบ- ตลอดหนังสือเล่มนี้ คุณจะเห็นตัวอย่างที่มีลักษณะดังนี้:
มีไดเร็กทอรีการทำงานปัจจุบันอยู่เสมอ หากคุณไม่รู้อะไรเกี่ยวกับไดเร็กทอรีการทำงานปัจจุบัน อาจเป็นไปได้ว่าขั้นตอนที่ 1 จะล้มเหลวและเกิดข้อยกเว้น เช่น ข้อผิดพลาดในการนำเข้า- ทำไม เพราะ Python จะค้นหาโมดูลที่ระบุมา เส้นทางการค้นหาของโอเปอเรเตอร์ นำเข้าแต่จะไม่พบเนื่องจากไดเรกทอรีตัวอย่างไม่อยู่ในเส้นทางการค้นหา เพื่อแก้ไขปัญหานี้ คุณสามารถทำสิ่งใดสิ่งหนึ่งจากสองสิ่งนี้:
ไดเร็กทอรีการทำงานปัจจุบันเป็นพารามิเตอร์โดยนัยที่ Python เก็บไว้ในหน่วยความจำตลอดเวลา ไดเร็กทอรีการทำงานปัจจุบันจะอยู่ที่นั่นเสมอเมื่อคุณทำงานในเชลล์ Python แบบโต้ตอบซึ่งเรียกใช้สคริปต์ของคุณ บรรทัดคำสั่งหรือสคริปต์ CGI ที่ไหนสักแห่งบนเว็บเซิร์ฟเวอร์ โมดูล ระบบปฏิบัติการมีสองฟังก์ชันสำหรับการทำงานกับไดเร็กทอรีการทำงานปัจจุบัน
การทำงานกับชื่อไฟล์และไดเร็กทอรีเนื่องจากเรากำลังพูดถึงไดเร็กทอรี ฉันต้องการดึงความสนใจของคุณไปที่โมดูล os.path- ประกอบด้วยฟังก์ชันสำหรับการทำงานกับชื่อไฟล์และไดเร็กทอรี
โมดูล os.pathยังมีฟังก์ชันสำหรับแยกเส้นทางไฟล์ ชื่อโฟลเดอร์ และไฟล์ออกเป็นส่วนต่างๆ
รับเนื้อหาไดเร็กทอรีโมดูล glob เข้าใจอักขระตัวแทนที่ใช้ในเชลล์ โมดูล โลกเป็นอีกหนึ่งเครื่องมือจากไลบรารีมาตรฐาน Python เป็นวิธีง่ายๆ ในการรับเนื้อหาของโฟลเดอร์โดยทางโปรแกรม และยังใช้ไวด์การ์ด ซึ่งคุณอาจคุ้นเคยหากคุณเคยใช้บรรทัดคำสั่ง
รับข้อมูลเกี่ยวกับไฟล์ระบบปฏิบัติการสมัยใหม่ใดๆ จะจัดเก็บข้อมูลเกี่ยวกับแต่ละไฟล์ (ข้อมูลเมตา): วันที่สร้าง วันที่แก้ไขครั้งล่าสุด ขนาดไฟล์ ฯลฯ Python จัดให้มีไฟล์เดียว อินเทอร์เฟซซอฟต์แวร์เพื่อเข้าถึงข้อมูลเมตานี้ คุณไม่จำเป็นต้องเปิดไฟล์ สิ่งที่คุณต้องมีคือชื่อไฟล์
ได้รับเส้นทางที่แน่นอนในส่วนก่อนหน้าฟังก์ชัน glob.glob()ส่งคืนรายการเส้นทางสัมพัทธ์ ในตัวอย่างแรก เส้นทางดูเหมือน "examples\feed.xml" และในตัวอย่างที่สอง เส้นทางสัมพัทธ์ยังสั้นกว่านั้นอีก เช่น "romantest1.py" ตราบใดที่คุณยังคงอยู่ในไดเร็กทอรีการทำงานปัจจุบัน เส้นทางที่เกี่ยวข้องเหล่านี้จะช่วยให้คุณสามารถเปิดไฟล์หรือดึงข้อมูลเมตาของไฟล์ได้ แต่ถ้าคุณต้องการได้รับเส้นทางที่แน่นอน นั่นคือ เส้นทางที่มีชื่อไดเร็กทอรีทั้งหมดจนถึงรากหรืออักษรชื่อไดรฟ์ คุณจะต้องใช้ฟังก์ชันนี้ os.path.realpath(). >>> นำเข้าระบบปฏิบัติการ c:\Users\pilgrim\diveintopython3\examples\feed.xml เครื่องกำเนิดรายการคุณสามารถใช้นิพจน์ Python ในตัวสร้างรายการได้ ด้วยตัวสร้างรายการ คุณสามารถแมปรายการหนึ่งไปยังอีกรายการหนึ่งได้อย่างง่ายดายโดยการใช้ฟังก์ชันบางอย่างกับแต่ละองค์ประกอบ
ตัวสร้างรายการสามารถใช้นิพจน์ Python ใดก็ได้ รวมถึงฟังก์ชันโมดูลด้วย ระบบปฏิบัติการใช้ในการทำงานกับไฟล์และไดเร็กทอรี
เมื่อสร้างรายการ คุณยังสามารถกรองรายการเพื่อละทิ้งค่าบางค่าได้
ตัวอย่างตัวสร้างรายการทั้งหมดที่กล่าวถึงใช้นิพจน์ง่ายๆ: การคูณตัวเลขด้วยค่าคงที่ การเรียกใช้ฟังก์ชันเดียว หรือเพียงแค่ส่งคืนองค์ประกอบรายการโดยไม่มีการเปลี่ยนแปลง (หลังการกรอง) แต่เมื่อสร้างรายการ คุณสามารถใช้นิพจน์ที่ซับซ้อนได้
เครื่องกำเนิดพจนานุกรมตัวสร้างพจนานุกรมจะคล้ายกับตัวสร้างรายการ แต่จะสร้างพจนานุกรมแทนรายการ
เช่นเดียวกับในตัวสร้างรายการ คุณสามารถรวมเงื่อนไขในตัวสร้างพจนานุกรมได้ ถ้าเพื่อกรองลำดับอินพุตโดยใช้นิพจน์แบบมีเงื่อนไขที่ได้รับการประเมินสำหรับแต่ละองค์ประกอบ
|
อ่าน: |
---|
ใหม่
- หากรองเท้าไม่พอดีกับ Aliexpress: การกระทำที่ถูกต้องในกรณีนี้ ผลิตภัณฑ์ Aliexpress มีขนาดที่เหมาะสม
- ข้อพิพาทใน AliExpress เข้าร่วมข้อพิพาทใน AliExpress
- 3 ฐานข้อมูลแบบกระจาย
- ผู้จัดการเนื้อหา - ความรับผิดชอบ เงินเดือน การฝึกอบรม ข้อเสียและข้อดีของการทำงานเป็นผู้เชี่ยวชาญด้านเนื้อหา
- จะป้องกันตัวเองจากการขุดที่ซ่อนอยู่ในเบราว์เซอร์ของคุณได้อย่างไร?
- การกู้คืนรหัสผ่านใน Ask
- วิธีเปิดกล้องบนแล็ปท็อป
- ทำไมเพลงไม่เล่นบน VKontakte?
- วิธีเพิ่มขนาดของไดรฟ์ C โดยเสียค่าใช้จ่ายของไดรฟ์ D โดยไม่สูญเสียข้อมูล
- สาเหตุของการทำงานผิดพลาดบนเมนบอร์ด หากชิปเซ็ตบนเมนบอร์ดเกิดไฟไหม้