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

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

15
psycopg2: แทรกหลายแถวด้วยหนึ่งแบบสอบถาม
ฉันต้องการแทรกหลายแถวด้วยหนึ่งแบบสอบถาม (จำนวนแถวไม่คงที่) ดังนั้นฉันต้องดำเนินการแบบสอบถามเช่นนี้: INSERT INTO t (a, b) VALUES (1, 2), (3, 4), (5, 6); วิธีเดียวที่ฉันรู้คือ args = [(1,2), (3,4), (5,6)] args_str = ','.join(cursor.mogrify("%s", (x, )) for x in args) cursor.execute("INSERT INTO t (a, b) VALUES "+args_str) แต่ฉันต้องการวิธีที่ง่ายกว่า


10
วิธีเปรียบเทียบรายการที่ไม่ได้เรียงลำดับสองรายการ (ไม่ได้ตั้งค่า) ใน Python อย่างมีประสิทธิภาพ
a = [1, 2, 3, 1, 2, 3] b = [3, 2, 1, 3, 2, 1] a & b ควรได้รับการพิจารณาอย่างเท่าเทียมกันเพราะพวกเขามีองค์ประกอบเดียวกันทุกประการเท่านั้น สิ่งที่เป็นรายการจริงของฉันจะประกอบด้วยวัตถุ (อินสแตนซ์ชั้นเรียนของฉัน) ไม่ใช่จำนวนเต็ม

4
เทียบกับ Greenlet หัวข้อ
ฉันยังใหม่กับ gevents และ greenlets ฉันพบเอกสารที่ดีเกี่ยวกับวิธีการทำงานกับเอกสารเหล่านั้น แต่ไม่มีใครให้เหตุผลแก่ฉันเกี่ยวกับวิธีและเวลาที่ฉันควรใช้กรีนเล็ต! พวกเขาเก่งเรื่องอะไรดี? เป็นความคิดที่ดีที่จะใช้มันในพร็อกซีเซิร์ฟเวอร์หรือไม่? ทำไมไม่หัวข้อ? สิ่งที่ฉันไม่แน่ใจคือพวกเขาสามารถให้เราพร้อมกันได้อย่างไร

8
ไม่สามารถนำเข้าโมดูลของตัวเองใน Python
ฉันเข้าใจว่าการอิมพอร์ตโมดูลทำงานอย่างไรใน Python (ฉันไม่เคยใช้ภาษาอื่นมาก่อน) สมมติว่าฉันมี: myapp/__init__.py myapp/myapp/myapp.py myapp/myapp/SomeObject.py myapp/tests/TestCase.py ตอนนี้ฉันกำลังพยายามหาบางอย่างเช่นนี้: myapp.py =================== from myapp import SomeObject # stuff ... TestCase.py =================== from myapp import SomeObject # some tests on SomeObject อย่างไรก็ตามฉันทำสิ่งที่ผิดอย่างแน่นอนเนื่องจาก Python ไม่สามารถเห็นได้ว่าmyappเป็นโมดูล: ImportError: No module named myapp
141 python  import  module  package 

5
ฉันจะสร้างแพ็คเกจเนมสเปซใน Python ได้อย่างไร
ใน Python แพ็คเกจเนมสเปซช่วยให้คุณสามารถแพร่กระจายรหัส Python ในหลายโครงการ สิ่งนี้มีประโยชน์เมื่อคุณต้องการปล่อยไลบรารีที่เกี่ยวข้องเป็นการดาวน์โหลดแยกต่างหาก ตัวอย่างเช่นกับไดเรกทอรีPackage-1และPackage-2ในPYTHONPATH, Package-1/namespace/__init__.py Package-1/namespace/module1/__init__.py Package-2/namespace/__init__.py Package-2/namespace/module2/__init__.py ผู้ใช้ปลายทางสามารถและimport namespace.module1import namespace.module2 เป็นวิธีที่ดีที่สุดในการกำหนดแพ็คเกจเนมสเปซดังนั้นมากกว่าหนึ่งผลิตภัณฑ์งูหลามสามารถกำหนดโมดูลในเนมสเปซนั้นคืออะไร?


5
คุณสามารถกำหนดนามแฝงสำหรับโมดูลที่อิมพอร์ตใน Python ได้หรือไม่?
ใน Python เป็นไปได้หรือไม่ที่จะกำหนดนามแฝงสำหรับโมดูลที่อิมพอร์ต ตัวอย่างเช่น import a_ridiculously_long_module_name ... เพื่อที่จะมีนามแฝงของ 'short_name'

10
ฉันจะติดตามแพคเกจที่ติดตั้ง pip ในสภาพแวดล้อม Anaconda (Conda) ได้อย่างไร
ผมได้ติดตั้งและได้รับใช้งูกระจายงูหลามและฉันได้เริ่มใช้งู (Conda) สภาพแวดล้อม ฉันสามารถใช้conda install...คำสั่งมาตรฐานเพื่อวางแพคเกจจากการแจกจ่ายในสภาพแวดล้อมของฉัน แต่จะใช้อะไรนอก (เช่น Flask-WTF, flask-sqlalchemy และ alembic) ฉันต้องใช้pip installในสภาพแวดล้อมที่ใช้งานอยู่ อย่างไรก็ตามเมื่อฉันดูเนื้อหาของสภาพแวดล้อมไม่ว่าจะในไดเรกทอรีหรือใช้แพ็คเกจ ed conda listเหล่านี้pip installจะไม่แสดงขึ้นมา ใช้pip freezeและpip listแสดงรายการทุกแพ็คเกจที่ฉันเคยติดตั้ง มีวิธีในการติดตามสิ่งที่อยู่ในแต่ละ Anaconda ของฉันenv(ทั้งpipและcondaติดตั้ง)?
141 python  pip  anaconda  env  conda 

9
ส่งคืนรหัสสถานะ HTTP 201 ในขวด
เรากำลังใช้ Flask สำหรับหนึ่งใน API ของเราและฉันก็สงสัยว่าถ้าใครรู้วิธีการตอบกลับ HTTP 201? สำหรับข้อผิดพลาดเช่น 404 เราสามารถโทร: from flask import abort abort(404) แต่สำหรับ 201 ฉันได้รับ LookupError: ไม่มีข้อยกเว้นสำหรับ 201 ฉันต้องสร้างข้อยกเว้นของตัวเองเช่นนี้ในเอกสารหรือไม่?


2
อะไร ในคำสั่งการนำเข้าใน Python หมายความว่าอย่างไร
ฉันกำลังมองหารหัสสำหรับmultiprocessingโมดูลPython และมันมีบรรทัดนี้: from ._multiprocessing import win32, Connection, PipeConnection แทน from _multiprocessing import win32, Connection, PipeConnection _multiprocessingความแตกต่างที่ลึกซึ้งเป็นช่วงเวลาก่อนที่จะ นั่นหมายความว่าอย่างไร? ทำไมระยะเวลา
141 python  module 

11
การแทนที่ค่าคอลัมน์ใน pandas DataFrame
ฉันพยายามแทนที่ค่าในหนึ่งคอลัมน์ของ dataframe คอลัมน์ ('หญิง') มีเฉพาะค่า 'หญิง' และ 'ชาย' ฉันได้ลองทำสิ่งต่อไปนี้แล้ว: w['female']['female']='1' w['female']['male']='0' แต่รับสำเนาผลลัพธ์เดียวกันก่อนหน้านี้ทุกประการ ฉันต้องการที่จะรับเอาท์พุทที่คล้ายกับองค์ประกอบวนรอบต่อไปนี้ if w['female'] =='female': w['female'] = '1'; else: w['female'] = '0'; ฉันดูเอกสาร gotchas ( http://pandas.pydata.org/pandas-docs/stable/gotchas.html ) แต่ไม่สามารถเข้าใจได้ว่าทำไมไม่มีอะไรเกิดขึ้น ความช่วยเหลือใด ๆ ที่จะได้รับการชื่นชม.
141 python  pandas 

17
ImportError: ไม่มีโมดูลชื่อ bs4 (BeautifulSoup)
ฉันทำงานใน Python และใช้ Flask เมื่อฉันเรียกใช้ไฟล์ Python หลักบนคอมพิวเตอร์ของฉันมันทำงานได้อย่างสมบูรณ์ แต่เมื่อฉันเปิดใช้งาน venv และเรียกใช้ไฟล์ Flask Python ในเทอร์มินัลมันขึ้นว่าไฟล์ Python หลักของฉันมี "No Module Named bs4" ความคิดเห็นหรือคำแนะนำใด ๆ จะได้รับการชื่นชมอย่างมาก

8
ดีกว่าที่จะ 'ลอง' บางอย่างและตรวจจับข้อยกเว้นหรือทดสอบว่าเป็นไปได้ก่อนเพื่อหลีกเลี่ยงข้อยกเว้นหรือไม่?
ฉันควรทดสอบifสิ่งที่ถูกต้องหรือเพียงtryเพื่อทำและตรวจจับข้อยกเว้น? มีเอกสารประกอบที่ระบุว่าควรใช้วิธีเดียวหรือไม่? pythonicทางเดียวมากกว่าหรือไม่? ตัวอย่างเช่นฉันควร: if len(my_list) >= 4: x = my_list[3] else: x = 'NO_ABC' หรือ: try: x = my_list[3] except IndexError: x = 'NO_ABC' ความคิดบางอย่าง ... PEP 20พูดว่า: ข้อผิดพลาดไม่ควรผ่านไปอย่างเงียบ ๆ เว้นแต่จะปิดเสียงไว้อย่างชัดเจน ควรใช้ a tryแทนการifตีความว่าเป็นข้อผิดพลาดที่ผ่านไปอย่างเงียบ ๆ หรือไม่? และถ้าเป็นเช่นนั้นคุณจะปิดเสียงโดยใช้วิธีนี้อย่างชัดเจนหรือไม่ ฉันไม่ได้หมายถึงสถานการณ์ที่คุณสามารถทำได้เพียง 1 ทางเท่านั้น ตัวอย่างเช่น: try: import foo except ImportError: import baz

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