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

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

6
การรักษาลายเซ็นของฟังก์ชันตกแต่ง
สมมติว่าฉันเขียนมัณฑนากรที่ทำอะไรธรรมดา ๆ ตัวอย่างเช่นอาจแปลงอาร์กิวเมนต์ทั้งหมดเป็นประเภทเฉพาะดำเนินการบันทึกใช้การบันทึก ฯลฯ นี่คือตัวอย่าง: def args_as_ints(f): def g(*args, **kwargs): args = [int(x) for x in args] kwargs = dict((k, int(v)) for k, v in kwargs.items()) return f(*args, **kwargs) return g @args_as_ints def funny_function(x, y, z=3): """Computes x*y + 2*z""" return x*y + 2*z >>> funny_function("3", 4.0, z="5") 22 ทุกอย่างดีจนถึงตอนนี้ …
111 python  decorator 

5
จะออกจาก pdb และอนุญาตให้โปรแกรมดำเนินการต่อได้อย่างไร
ฉันใช้โมดูล pdb เพื่อดีบักโปรแกรม ฉันต้องการทำความเข้าใจว่าฉันจะออกจาก pdb ได้อย่างไรและอนุญาตให้โปรแกรมดำเนินการต่อไปจนเสร็จสิ้น โปรแกรมมีค่าใช้จ่ายในการคำนวณสูงดังนั้นฉันจึงไม่ต้องการออกโดยที่สคริปต์ไม่พยายามทำให้เสร็จสมบูรณ์ continueดูเหมือนจะไม่ทำงาน ฉันจะออกจาก pdb และดำเนินการต่อกับโปรแกรมของฉันได้อย่างไร
111 python  pdb 

16
TypeError: ObjectId ('') ไม่สามารถต่ออนุกรม JSON ได้
การตอบกลับของฉันกลับมาจาก MongoDB หลังจากค้นหาฟังก์ชันรวมบนเอกสารโดยใช้ Python มันส่งคืนการตอบสนองที่ถูกต้องและฉันสามารถพิมพ์ได้ แต่ไม่สามารถส่งคืนได้ ข้อผิดพลาด: TypeError: ObjectId('51948e86c25f4b1d1c0d303c') is not JSON serializable พิมพ์: {'result': [{'_id': ObjectId('51948e86c25f4b1d1c0d303c'), 'api_calls_with_key': 4, 'api_calls_per_day': 0.375, 'api_calls_total': 6, 'api_calls_without_key': 2}], 'ok': 1.0} แต่เมื่อฉันพยายามกลับ: TypeError: ObjectId('51948e86c25f4b1d1c0d303c') is not JSON serializable เป็นการโทรแบบ RESTfull: @appv1.route('/v1/analytics') def get_api_analytics(): # get handle to collections in MongoDB statistics = sldb.statistics objectid …
111 python  json  mongodb  flask 

13
จะเปลี่ยน django QueryDict เป็น Python Dict ได้อย่างไร
ลองแกล้งทำเป็นว่าฉันมี QueryDict ต่อไปนี้: <QueryDict: {u'num': [0], u'var1': [u'value1', u'value2'], u'var2': [u'8']}> ฉันต้องการพจนานุกรมจากสิ่งนี้เช่น: {'num': [0], 'var1':['value1', 'value2'], 'var2':['8']} (ฉันไม่สนใจว่าสัญลักษณ์ Unicode uจะอยู่หรือไป) หากฉันทำqueryDict.dict()ตามที่แนะนำโดยไซต์ djangoฉันจะสูญเสียค่าพิเศษที่เป็นของvar1เช่น: {'num': [0], 'var1':['value2'], 'var2':['8']} ฉันคิดจะทำสิ่งนี้: myDict = {} for key in queryDict.iterkeys(): myDict[key] = queryDict.getlist(key) มีวิธีที่ดีกว่า?
111 python  django 

4
Python: แปลง timedelta เป็น int ใน dataframe
ฉันต้องการสร้างคอลัมน์ในกรอบข้อมูลแพนด้าที่เป็นตัวแทนจำนวนเต็มของจำนวนวันในคอลัมน์ไทม์เดลตา เป็นไปได้ไหมที่จะใช้ 'datetime.days' หรือฉันต้องทำอะไรเพิ่มเติมด้วยตนเอง? คอลัมน์เวลา 7 วัน 23:29:00 น คอลัมน์จำนวนเต็มวัน 7
111 python  pandas  timedelta 

11
บังคับตั้งชื่อพารามิเตอร์ใน Python
ใน Python คุณอาจมีนิยามฟังก์ชัน: def info(object, spacing=10, collapse=1) ซึ่งสามารถเรียกได้ด้วยวิธีใด ๆ ต่อไปนี้: info(odbchelper) info(odbchelper, 12) info(odbchelper, collapse=0) info(spacing=15, object=odbchelper) ต้องขอบคุณ Python ที่อนุญาตให้มีอาร์กิวเมนต์ลำดับใดก็ได้ตราบเท่าที่มีการตั้งชื่อ ปัญหาที่เราพบคือเมื่อฟังก์ชันที่ใหญ่ขึ้นบางส่วนของเราเติบโตขึ้นผู้คนอาจเพิ่มพารามิเตอร์ระหว่างspacingและcollapseซึ่งหมายความว่าค่าที่ไม่ถูกต้องอาจไปสู่พารามิเตอร์ที่ไม่มีชื่อ นอกจากนี้บางครั้งมันก็ไม่ชัดเจนเสมอไปว่าต้องทำอะไรบ้างเรากำลังหาวิธีบังคับให้ผู้คนตั้งชื่อพารามิเตอร์บางอย่างไม่ใช่แค่มาตรฐานการเข้ารหัส แต่ควรเป็นแฟล็กหรือปลั๊กอิน pydev? ดังนั้นใน 4 ตัวอย่างข้างต้นสุดท้ายเท่านั้นที่จะผ่านการตรวจสอบเนื่องจากพารามิเตอร์ทั้งหมดถูกตั้งชื่อ เราจะเปิดอัตราต่อรองสำหรับบางฟังก์ชันเท่านั้น แต่ข้อเสนอแนะเกี่ยวกับวิธีการใช้งาน - หรือถ้าเป็นไปได้ก็จะได้รับการชื่นชม

3
enum - รับค่า enum จากการแปลงสตริง
ฉันได้กำหนด enum ดังต่อไปนี้ from enum import Enum class D(Enum): x = 1 y = 2 print(D.x) ตอนนี้ค่าที่พิมพ์คือ D.x ฉันต้องการให้พิมพ์ค่า enum แทน 1 จะทำอย่างไรเพื่อให้บรรลุฟังก์ชันนี้?

7
การวนซ้ำผ่านวัตถุ JSON
ฉันพยายามวนซ้ำผ่านออบเจ็กต์ JSON เพื่อนำเข้าข้อมูลเช่นชื่อเรื่องและลิงก์ ดูเหมือนว่าฉันจะเข้าสู่เนื้อหาที่ผ่านมา:ไม่ได้ JSON: [ { "title": "Baby (Feat. Ludacris) - Justin Bieber", "description": "Baby (Feat. Ludacris) by Justin Bieber on Grooveshark", "link": "http://listen.grooveshark.com/s/Baby+Feat+Ludacris+/2Bqvdq", "pubDate": "Wed, 28 Apr 2010 02:37:53 -0400", "pubTime": 1272436673, "TinyLink": "http://tinysong.com/d3wI", "SongID": "24447862", "SongName": "Baby (Feat. Ludacris)", "ArtistID": "1118876", "ArtistName": "Justin Bieber", "AlbumID": "4104002", "AlbumName": …
111 python  dictionary  loops 

3
"module" ไม่มีแอตทริบิวต์ "urlencode"
เมื่อฉันพยายามทำตามตัวอย่างของ Python Wikiที่เกี่ยวข้องกับการเข้ารหัส URL: >>> import urllib >>> params = urllib.urlencode({'spam': 1, 'eggs': 2, 'bacon': 0}) >>> f = urllib.urlopen("http://www.musi-cal.com/cgi-bin/query", params) >>> print f.read() ข้อผิดพลาดเกิดขึ้นในบรรทัดที่สอง: Traceback (most recent call last): File "<stdin>", line 1, in <module> AttributeError: 'module' object has no attribute 'urlencode' ฉันขาดอะไรไป?

3
การดำเนินการรหัส Python ด้วยตัวเลือก -m หรือไม่
ล่ามหลามมี-m โมดูลตัวเลือกที่ "รันโมดูลห้องสมุดโมดูลเป็นสคริปต์" ด้วยรหัส python a.py: if __name__ == "__main__": print __package__ print __name__ ฉันทดสอบpython -m aเพื่อรับ "" <-- Empty String __main__ ในขณะที่python a.pyผลตอบแทน None <-- None __main__ สำหรับฉันการเรียกทั้งสองนี้ดูเหมือนจะเหมือนกันยกเว้น __package__ ไม่ใช่ไม่มีเมื่อเรียกด้วยตัวเลือก -m ที่น่าสนใจคือpython -m runpy aฉันได้รับเช่นเดียวpython -m aกับโมดูล python ที่คอมไพล์เพื่อรับ a.pyc อะไรคือความแตกต่าง (ในทางปฏิบัติ) ระหว่างการเรียกร้องเหล่านี้? ข้อดีข้อเสียระหว่างกันหรือไม่? นอกจากนี้ Python Essential Reference ของ …
111 python  module  package 

2
ValueError: การดำเนินการ I / O บนไฟล์ปิด
import csv with open('v.csv', 'w') as csvfile: cwriter = csv.writer(csvfile, delimiter=' ', quotechar='|', quoting=csv.QUOTE_MINIMAL) for w, c in p.items(): cwriter.writerow(w + c) นี่pคือพจนานุกรมwและcทั้งสองเป็นสตริง เมื่อฉันพยายามเขียนลงไฟล์มันรายงานข้อผิดพลาด: ValueError: I/O operation on closed file.
111 python  csv  file-io  io 

3
รวมตัวกลาง (ผ่านโมเดล) ในการตอบสนองใน Django Rest Framework
ฉันมีคำถามเกี่ยวกับการจัดการกับ m2m / through models และการนำเสนอใน django rest framework ลองมาดูตัวอย่างคลาสสิก: Models.py: from django.db import models class Member(models.Model): name = models.CharField(max_length = 20) groups = models.ManyToManyField('Group', through = 'Membership') class Group(models.Model): name = models.CharField(max_length = 20) class Membership(models.Model): member = models.ForeignKey('Member') group = models.ForeignKey('Group') join_date = models.DateTimeField() serializers.py: imports... class MemberSerializer(ModelSerializer): …

12
ลำดับรายการที่ไม่ใช่ตัวเลขและตัวอักษรจาก os.listdir ()
ฉันมักใช้ python เพื่อประมวลผลไดเรกทอรีของข้อมูล เมื่อเร็ว ๆ นี้ฉันสังเกตเห็นว่าลำดับเริ่มต้นของรายการได้เปลี่ยนไปเป็นสิ่งที่เกือบจะไร้สาระ ตัวอย่างเช่นถ้าฉันอยู่ในไดเร็กทอรีปัจจุบันที่มีไดเร็กทอรีย่อยต่อไปนี้: run01, run02, ... run19, run20 จากนั้นฉันจะสร้างรายการจากคำสั่งต่อไปนี้: dir = os.listdir(os.getcwd()) จากนั้นฉันมักจะได้รับรายการตามลำดับนี้: dir = ['run01', 'run18', 'run14', 'run13', 'run12', 'run11', 'run08', ... ] และอื่น ๆ คำสั่งที่ใช้เป็นตัวเลขและตัวอักษร แต่คำสั่งซื้อใหม่นี้ยังคงอยู่กับฉันมาระยะหนึ่งแล้ว อะไรคือการกำหนดลำดับ (แสดง) ของรายการเหล่านี้

5
วิธี __del__ คืออะไรจะเรียกมันอย่างไร
ฉันกำลังอ่านรหัส มีคลาสที่__del__กำหนดเมธอด ฉันคิดว่าวิธีนี้ใช้เพื่อทำลายอินสแตนซ์ของคลาส อย่างไรก็ตามฉันไม่พบสถานที่ที่ใช้วิธีนี้ สาเหตุหลักคือฉันไม่รู้ว่าวิธีนี้ใช้อย่างไรอาจจะไม่ใช่อย่างนั้น: obj1.del(). ดังนั้นคำถามของฉันคือจะเรียก__del__เมธอดอย่างไร?
111 python  oop 

7
วิธีการแปลง OrderDict เป็นคำสั่งปกติใน python3
ฉันกำลังดิ้นรนกับปัญหาต่อไปนี้: ฉันต้องการแปลงสิ่งOrderedDictนี้: OrderedDict([('method', 'constant'), ('data', '1.225')]) เป็นคำสั่งปกติเช่นนี้: {'method': 'constant', 'data':1.225} เพราะฉันต้องจัดเก็บเป็นสตริงในฐานข้อมูล หลังจากการแปลงคำสั่งซื้อไม่สำคัญอีกต่อไปดังนั้นฉันจึงสามารถสำรองคุณลักษณะที่สั่งซื้อไว้ได้ ขอบคุณสำหรับคำแนะนำหรือวิธีแก้ปัญหา เบน

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