คำถามติดแท็ก python

Python เป็นภาษาการเขียนโปรแกรมแบบหลายกระบวนทัศน์แบบไดนามิกพิมพ์อเนกประสงค์ มันถูกออกแบบมาให้เรียนรู้เข้าใจและใช้งานได้อย่างรวดเร็วและบังคับใช้ไวยากรณ์ที่สะอาดและสม่ำเสมอ โปรดทราบว่า Python 2 สนับสนุนอย่างเป็นทางการตั้งแต่วันที่ 01-01-2020 สำหรับคำถาม Python เฉพาะรุ่นให้เพิ่มแท็ก [python-2.7] หรือ [python-3.x] เมื่อใช้ตัวแปรหรือไลบรารี Python (เช่น Jython, PyPy, Pandas, Numpy) โปรดรวมไว้ในแท็ก

13
ทำซ้ำสตริงตามความยาวที่กำหนด
วิธีที่มีประสิทธิภาพในการทำซ้ำสตริงความยาวที่แน่นอนคืออะไร? เช่น:repeat('abc', 7) -> 'abcabca' นี่คือรหัสปัจจุบันของฉัน: def repeat(string, length): cur, old = 1, string while len(string) < length: string += old[cur-1] cur = (cur+1)%len(old) return string มีวิธีที่ดีกว่า (pythonic) ในการทำเช่นนี้? อาจใช้ความเข้าใจในรายการ?
204 string  python  repeat 

3
คุณจะตั้งค่าคุณลักษณะทางโปรแกรมได้อย่างไร
สมมติว่าฉันมีวัตถุหลามxและสตริงsฉันจะตั้งค่าแอตทริบิวต์sบนx? ดังนั้น: >>> x = SomeObject() >>> attr = 'myAttr' >>> # magic goes here >>> x.myAttr 'magic' ความมหัศจรรย์คืออะไร? x.__getattr__()เป้าหมายของการนี้บังเอิญเป็นสายแคช

4
เขียนไปยังไฟล์ UTF-8 ใน Python
codecs.open functionฉันสับสนจริงๆด้วย เมื่อฉัน: file = codecs.open("temp", "w", "utf-8") file.write(codecs.BOM_UTF8) file.close() มันทำให้ฉันมีข้อผิดพลาด UnicodeDecodeError: ตัวแปลงสัญญาณ 'ascii' ไม่สามารถถอดรหัสไบต์ 0xef ในตำแหน่ง 0: ลำดับไม่อยู่ในช่วง (128) ถ้าฉันทำ: file = open("temp", "w") file.write(codecs.BOM_UTF8) file.close() มันใช้งานได้ดี คำถามคือทำไมวิธีแรกล้มเหลว และฉันจะแทรก bom ได้อย่างไร? หากวิธีที่สองเป็นวิธีที่ถูกต้องในการทำสิ่งที่ใช้codecs.open(filename, "w", "utf-8")?

10
มีความแตกต่างระหว่างการใช้ตัวอักษร dict และตัวสร้าง dict ไหม?
เมื่อใช้ PyCharm ฉันสังเกตว่ามันเสนอให้แปลงตัวอักษรตามคำบอก : d = { 'one': '1', 'two': '2', } เป็นตัวสร้าง dict : d = dict(one='1', two='2') วิธีการที่แตกต่างกันเหล่านี้แตกต่างกันไปในวิธีที่สำคัญหรือไม่? (ในขณะที่เขียนคำถามนี้ฉันสังเกตเห็นว่าการใช้dict()ดูเหมือนว่าเป็นไปไม่ได้ที่จะระบุคีย์ตัวเลข .. d = {1: 'one', 2: 'two'}เป็นไปได้ แต่เห็นได้ชัดว่าdict(1='one' ...)ไม่ใช่สิ่งอื่นใด)

7
ฉันจะแยกสตริงเวลาที่มีมิลลิวินาทีในมันด้วยหลามได้อย่างไร
ฉันสามารถแยกสตริงที่มีวันที่ / เวลาด้วยtime.strptime >>> import time >>> time.strptime('30/03/09 16:31:32', '%d/%m/%y %H:%M:%S') (2009, 3, 30, 16, 31, 32, 0, 89, -1) ฉันจะแยกวิเคราะห์สตริงเวลาที่มีมิลลิวินาทีได้อย่างไร >>> time.strptime('30/03/09 16:31:32.123', '%d/%m/%y %H:%M:%S') Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/lib/python2.5/_strptime.py", line 333, in strptime data_string[found.end():]) ValueError: unconverted data remains: .123

14
ข้อผิดพลาดเซิร์ฟเวอร์ Django: พอร์ตถูกใช้งานแล้ว
การรีสตาร์ทเซิร์ฟเวอร์ Django แสดงข้อผิดพลาดต่อไปนี้: this port is already running.... ปัญหานี้เกิดขึ้นกับ Ubuntu โดยเฉพาะและไม่ใช่ระบบปฏิบัติการอื่น ฉันจะเพิ่มพอร์ตเพื่อรีสตาร์ทเซิร์ฟเวอร์ได้อย่างไร
204 python  django 

3
วิธีระบุประเภทการคืนสินค้าหลายประเภทโดยใช้คำใบ้ประเภท
ฉันมีฟังก์ชั่นในหลามที่สามารถกลับมาได้หรือbool listมีวิธีการระบุประเภทการคืนสินค้าโดยใช้คำใบ้ประเภทหรือไม่ ตัวอย่างเช่นนี่เป็นวิธีที่ถูกต้องหรือไม่ def foo(id) -> list or bool: ...


13
วิธีการตรวจสอบว่าค่าลอยเป็นจำนวนเต็ม
ฉันพยายามค้นหารูทคิวบ์ที่ใหญ่ที่สุดที่เป็นจำนวนเต็มนั่นคือน้อยกว่า 12,000 processing = True n = 12000 while processing: n -= 1 if n ** (1/3) == #checks to see if this has decimals or not ฉันไม่แน่ใจว่าจะตรวจสอบว่าเป็นจำนวนเต็มหรือไม่! ฉันสามารถแปลงเป็นสตริงแล้วใช้การจัดทำดัชนีเพื่อตรวจสอบค่าสุดท้ายและดูว่าพวกเขาเป็นศูนย์หรือไม่ซึ่งดูเหมือนว่าค่อนข้างยุ่งยาก มีวิธีที่ง่ายกว่านี้ไหม?

2
ฉันสามารถให้บริการลูกค้าหลายรายโดยใช้เพียงแอพ Flask เป็นแบบสแตนด์อโลนได้หรือไม่
ฉันรู้ว่าฉันสามารถเชื่อมโยง Flask กับ Apache หรือเว็บเซิร์ฟเวอร์อื่น ๆ ได้ แต่ฉันคิดว่าการใช้ Flask เป็นเซิร์ฟเวอร์แบบสแตนด์อโลนที่ให้บริการลูกค้าหลายรายพร้อมกัน เป็นไปได้ไหม ฉันต้องจัดการกับการวางไข่หลายเธรดและจัดการได้อย่างไร
204 python  flask 

13
พิมพ์เอาต์พุตกระบวนการย่อยอย่างต่อเนื่องขณะที่กระบวนการกำลังทำงาน
ในการเปิดโปรแกรมจากสคริปต์ Python ของฉันฉันใช้วิธีการต่อไปนี้: def execute(command): process = subprocess.Popen(command, shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT) output = process.communicate()[0] exitCode = process.returncode if (exitCode == 0): return output else: raise ProcessException(command, exitCode, output) ดังนั้นเมื่อฉันเริ่มกระบวนการเช่นProcess.execute("mvn clean install")นี้โปรแกรมของฉันจะรอจนกระทั่งกระบวนการเสร็จสิ้นและหลังจากนั้นฉันก็จะได้ผลลัพธ์ที่สมบูรณ์ของโปรแกรมของฉัน สิ่งนี้น่ารำคาญถ้าฉันใช้กระบวนการที่ใช้เวลาสักครู่จึงจะเสร็จสิ้น ฉันสามารถให้โปรแกรมของฉันเขียนบรรทัดผลลัพธ์ของกระบวนการทีละบรรทัดโดยโพลผลลัพธ์ของกระบวนการก่อนที่มันจะเสร็จสิ้นในลูปหรือบางอย่าง ** [แก้ไข] ขออภัยฉันค้นหาไม่ค่อยดีก่อนโพสต์คำถามนี้ การทำเกลียวเป็นกุญแจสำคัญ พบตัวอย่างที่นี่ซึ่งแสดงวิธีการทำ: ** Python Subprocess.Popen จากเธรด
204 python  subprocess 

8
มีวิธีใช้ PhantomJS ใน Python หรือไม่?
ฉันต้องการใช้PhantomJSในหลาม ฉัน googled ปัญหานี้ แต่หาทางแก้ไขไม่ได้ ฉันคิดว่าos.popen() อาจเป็นทางเลือกที่ดี แต่ฉันไม่สามารถโต้แย้งได้ การใช้subprocess.Popen()อาจเป็นโซลูชันที่เหมาะสมในตอนนี้ ฉันต้องการทราบว่ามีวิธีแก้ปัญหาที่ดีกว่าหรือไม่ มีวิธีใช้ PhantomJS ใน Python หรือไม่?
203 python  phantomjs 

6
วนซ้ำรายการที่มีดัชนีใน Python
ฉันสาบานได้ว่าฉันได้เห็นฟังก์ชั่น (หรือวิธีการ) ที่รับรายการเช่นนี้[3, 7, 19]และทำให้มันกลายเป็นรายการของสิ่งอันดับที่ทำซ้ำได้เช่น:[(0,3), (1,7), (2,19)]เพื่อใช้แทน: for i in range(len(name_of_list)): name_of_list[i] = something แต่ฉันไม่สามารถจำชื่อและ googling "รายการซ้ำ" ไม่ได้อะไรเลย
203 python  list 

4
เป็นไปได้ไหมที่จะตั้งค่าตัวเลขเป็น NaN หรือไม่สิ้นสุด
เป็นไปได้ไหมที่จะกำหนดองค์ประกอบของอาร์เรย์เป็นNaNPython? นอกจากนี้เป็นไปได้ไหมที่จะตั้งค่าตัวแปรเป็น +/- อินฟินิตี้ ถ้าเป็นเช่นนั้นมีฟังก์ชั่นใด ๆ ที่จะตรวจสอบว่าตัวเลขนั้นไม่มีที่สิ้นสุดหรือไม่?
203 python  numeric  nan  infinite 

7
การส่งผ่านฟังก์ชันที่มีอาร์กิวเมนต์ไปยังฟังก์ชันอื่นใน Python หรือไม่
เป็นไปได้ไหมที่จะส่งผ่านฟังก์ชั่นที่มีข้อโต้แย้งไปยังฟังก์ชันอื่นใน Python พูดเพื่อสิ่งที่ชอบ: def perform(function): return function() แต่ฟังก์ชั่นที่จะส่งผ่านจะมีอาร์กิวเมนต์ดังนี้ action1() action2(p) action3(p,r)
203 python  function 

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.