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

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


8
เหตุใดการแยกสตริงใน C ++ จึงช้ากว่า Python
ฉันกำลังพยายามแปลงรหัสจาก Python เป็น C ++ เพื่อเพิ่มความเร็วและเพิ่มทักษะ C ++ ที่เป็นสนิมของฉัน เมื่อวานนี้ฉันรู้สึกตกใจเมื่อการใช้งานบรรทัดการอ่านอย่างไร้เดียงสาจาก stdin ใน Python เร็วกว่า C ++ มาก (ดูสิ่งนี้ ) วันนี้ในที่สุดฉันก็ค้นพบวิธีการแยกสตริงใน C ++ ด้วยการรวมตัวคั่น (ความหมายที่คล้ายกันกับการแยกของ python ()) และตอนนี้ฉันกำลังประสบกับ deja vu! รหัส C ++ ของฉันใช้เวลาทำงานนานกว่ามาก (แม้ว่าจะไม่ใช่ลำดับความสำคัญมากกว่าเช่นเดียวกับบทเรียนเมื่อวานนี้) รหัส Python: #!/usr/bin/env python from __future__ import print_function import time import sys count = 0 start_time …

10
ไฟล์คงที่ใน Flask - robot.txt, sitemap.xml (mod_wsgi)
มีวิธีแก้ปัญหาที่ชาญฉลาดในการจัดเก็บไฟล์แบบคงที่ในไดเรกทอรีรากของแอปพลิเคชันของ Flask คาดว่าจะพบ robots.txt และ sitemap.xml ใน / ดังนั้นความคิดของฉันคือการสร้างเส้นทางสำหรับพวกเขา: @app.route('/sitemap.xml', methods=['GET']) def sitemap(): response = make_response(open('sitemap.xml').read()) response.headers["Content-type"] = "text/plain" return response ต้องมีอะไรที่สะดวกกว่านี้ :)

7
วนรอบตัวแปรสมาชิกทั้งหมดของคลาสใน python
คุณจะได้รับรายการตัวแปรทั้งหมดในคลาสที่สามารถทำซ้ำได้อย่างไร เหมือนคนในท้องถิ่น () แต่สำหรับชั้นเรียน class Example(object): bool143 = True bool2 = True blah = False foo = True foobar2000 = False def as_list(self) ret = [] for field in XXX: if getattr(self, field): ret.append(field) return ",".join(ret) สิ่งนี้ควรกลับมา >>> e = Example() >>> e.as_list() bool143, bool2, foo
94 python 

3
ในความเข้าใจรายการ Python สามารถเข้าถึงดัชนีรายการได้หรือไม่
พิจารณารหัส Python ต่อไปนี้ซึ่งฉันเพิ่มในรายการใหม่list2ทั้งหมดที่มีดัชนีตั้งแต่ 1 ถึง 3 ของlist1: for ind, obj in enumerate(list1): if 4 > ind > 0: list2.append(obj) คุณจะเขียนสิ่งนี้โดยใช้ความเข้าใจรายการได้อย่างไรถ้าฉันไม่สามารถเข้าถึงดัชนีผ่านการแจงนับได้ สิ่งที่ต้องการ: list2 = [x for x in list1 if 4 > ind > 0] แต่เนื่องจากฉันไม่มีindเบอร์นี่จะใช้ได้ไหม list2 = [x for x in enumerate(list1) if 4 > ind > 0]

1
Python NameError: ไม่ได้กำหนดชื่อ 'รวม' ไว้ [ปิด]
ปิด. คำถามนี้ต้องการรายละเอียดการแก้จุดบกพร่อง ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Stack Overflow ปิดให้บริการใน5 ปีที่ผ่านมา ปรับปรุงคำถามนี้ ฉันกำลังพัฒนาเว็บไซต์ด้วยเฟรมเวิร์ก Django (ฉันเป็นมือใหม่มาก) แต่ฉันมีปัญหากับ Python: เนื่องจากฉันสร้างเทมเพลตแล้วฉันจึงไม่สามารถเรียกใช้เซิร์ฟเวอร์ได้อีกต่อไปด้วยเหตุนี้ (การติดตามสแต็กชี้ไปที่ บรรทัดในไฟล์urls.py ): <stacktrace> ... path('apppath/', include('myapp.urls')), NameError: name 'include' is not defined นำเข้าincludeจากไหนได้บ้าง?

1
คำเตือน Cell-var-from-loop จาก Pylint
สำหรับรหัสต่อไปนี้: for sort_key, order in query_data['sort']: results.sort(key=lambda k: get_from_dot_path(k, sort_key), reverse=(order == -1)) Pylint รายงานข้อผิดพลาด: Sort_key ตัวแปรของเซลล์ที่กำหนดไว้ในลูป (cell-var-from-loop) ใครช่วยให้คำใบ้ว่าเกิดอะไรขึ้นที่นี่? จากซอร์สโค้ด pylint คำอธิบายคือ: ตัวแปรที่ใช้ในการปิดถูกกำหนดในลูป ซึ่งจะส่งผลให้การปิดทั้งหมดโดยใช้ค่าเดียวกันสำหรับตัวแปรปิด แต่ฉันไม่รู้ว่ามันหมายถึงอะไร ใครช่วยยกตัวอย่างปัญหาได้ไหม

2
หลายต่อหลายคนในรายการแสดง django
class PurchaseOrder(models.Model): product = models.ManyToManyField('Product') vendor = models.ForeignKey('VendorProfile') dollar_amount = models.FloatField(verbose_name='Price') class Product(models.Model): products = models.CharField(max_length=256) def __unicode__(self): return self.products ฉันมีรหัสนั้น ขออภัยข้อผิดพลาดเกิดขึ้นใน admin.py พร้อมกับไฟล์ManyToManyField class PurchaseOrderAdmin(admin.ModelAdmin): fields = ['product', 'dollar_amount'] list_display = ('product', 'vendor') ข้อผิดพลาดระบุว่า: 'PurchaseOrderAdmin.list_display [0]', 'product' คือ ManyToManyField ซึ่งไม่รองรับ อย่างไรก็ตามมันจะรวบรวมเมื่อฉันนำ'product'ออกจากlist_display. ดังนั้นวิธีการที่ฉันสามารถแสดง'product'ในlist_displayโดยไม่ต้องให้มันข้อผิดพลาด? แก้ไข : คำถามที่ดีกว่าอาจจะเป็นวิธีที่คุณแสดงManyToManyFieldในlist_display?

5
ยืนยันว่ามีการเรียกเมธอดในการทดสอบหน่วย Python
สมมติว่าฉันมีรหัสต่อไปนี้ในการทดสอบหน่วย Python: aw = aps.Request("nv1") aw2 = aps.Request("nv2", aw) มีวิธีง่ายๆในการยืนยันว่ามีการเรียกวิธีการเฉพาะ (ในกรณีของฉันaw.Clear()) ในระหว่างบรรทัดที่สองของการทดสอบหรือไม่? เช่นมีบางอย่างเช่นนี้: #pseudocode: assertMethodIsCalled(aw.Clear, lambda: aps.Request("nv2", aw))

3
อะไรคือความแตกต่างระหว่าง MySQLdb, mysqlclient และ MySQL connector / Python?
ดังนั้นฉันจึงพยายามอัปเดตฐานข้อมูลด้วย python และในขณะที่ตั้งค่าสภาพแวดล้อม dev ทั้งหมดฉันเจอสามสิ่งนี้ซึ่งทำให้ฉันเวียนหัว มีMySQLdb มีmysqlclient แล้วก็มีpython ตัวเชื่อมต่อ mysql แต่ละอย่างแตกต่างกันอย่างไรและใช้ที่ไหน? ขอบคุณ

19
การติดตั้ง pip /usr/local/opt/python/bin/python2.7: ตัวแปลที่ไม่ถูกต้อง: ไม่มีไฟล์หรือไดเร็กทอรีดังกล่าว
ฉันไม่รู้ว่าข้อตกลงคืออะไร แต่ฉันติดอยู่กับโซลูชัน stackoverflow บางอย่างซึ่งไม่มีที่ไหนเลย คุณช่วยฉันเรื่องนี้ได้ไหม Monas-MacBook-Pro:CS764 mona$ sudo python get-pip.py The directory '/Users/mona/Library/Caches/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag. …

2
การบันทึกภายในการทดสอบ pytest
ฉันต้องการใส่ข้อความบันทึกในฟังก์ชันทดสอบเพื่อตรวจสอบตัวแปรสถานะบางอย่าง ฉันมีข้อมูลโค้ดต่อไปนี้: import pytest,os import logging logging.basicConfig(level=logging.DEBUG) mylogger = logging.getLogger() ############################################################################# def setup_module(module): ''' Setup for the entire module ''' mylogger.info('Inside Setup') # Do the actual setup stuff here pass def setup_function(func): ''' Setup for test functions ''' if func == test_one: mylogger.info(' Hurray !!') def test_one(): ''' Test One …
94 python  logging  pytest 


10
จับ stdout จากสคริปต์?
สมมติว่ามีสคริปต์ที่ทำสิ่งนี้: # module writer.py import sys def write(): sys.stdout.write("foobar") ตอนนี้สมมติว่าฉันต้องการจับเอาต์พุตของwriteฟังก์ชันและเก็บไว้ในตัวแปรเพื่อประมวลผลต่อไป วิธีแก้ปัญหาที่ไร้เดียงสาคือ: # module mymodule.py from writer import write out = write() print out.upper() แต่ไม่ได้ผล ฉันคิดวิธีแก้ปัญหาอื่นและได้ผล แต่โปรดแจ้งให้เราทราบหากมีวิธีที่ดีกว่าในการแก้ปัญหา ขอบคุณ import sys from cStringIO import StringIO # setup the environment backup = sys.stdout # #### sys.stdout = StringIO() # capture output write() out …
94 python  stdout  sys 

5
'ฆ่า' หมายความว่าอย่างไรเมื่อประมวลผล CSV ขนาดใหญ่ด้วย Python ซึ่งหยุดกะทันหัน
ฉันมีสคริปต์ Python ที่นำเข้าไฟล์ CSV ขนาดใหญ่จากนั้นนับจำนวนครั้งที่เกิดขึ้นของแต่ละคำในไฟล์จากนั้นส่งออกการนับไปยังไฟล์ CSV อื่น แต่สิ่งที่เกิดขึ้นคือเมื่อการนับส่วนนั้นเสร็จสิ้นและการส่งออกเริ่มขึ้นมันจะบอกว่าKilledในเทอร์มินัล ฉันไม่คิดว่านี่เป็นปัญหาหน่วยความจำ (ถ้าเป็นฉันคิดว่าฉันจะได้รับข้อผิดพลาดของหน่วยความจำไม่ใช่Killed) อาจเป็นไปได้ว่ากระบวนการนี้ใช้เวลานานเกินไปหรือไม่? ถ้าเป็นเช่นนั้นมีวิธีการขยายระยะเวลาเพื่อหลีกเลี่ยงปัญหานี้หรือไม่ นี่คือรหัส: csv.field_size_limit(sys.maxsize) counter={} with open("/home/alex/Documents/version2/cooccur_list.csv",'rb') as file_name: reader=csv.reader(file_name) for row in reader: if len(row)>1: pair=row[0]+' '+row[1] if pair in counter: counter[pair]+=1 else: counter[pair]=1 print 'finished counting' writer = csv.writer(open('/home/alex/Documents/version2/dict.csv', 'wb')) for key, value in counter.items(): writer.writerow([key, value]) และสิ่งที่Killedเกิดขึ้นหลังจากfinished …
94 python  csv  etl  kill 

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