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

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

9
ฉันสามารถเปลี่ยนเส้นทาง stdout ใน python เป็นสตริงบัฟเฟอร์บางประเภทได้หรือไม่
ฉันใช้ python ftplibเพื่อเขียนไคลเอนต์ FTP ขนาดเล็ก แต่ฟังก์ชั่นบางอย่างในแพ็คเกจไม่ส่งคืนเอาต์พุตสตริง แต่พิมพ์เป็นstdoutไฟล์. ฉันต้องการเปลี่ยนเส้นทางstdoutไปยังวัตถุที่ฉันจะสามารถอ่านผลลัพธ์ได้ ฉันรู้ว่าstdoutสามารถเปลี่ยนเส้นทางไปยังไฟล์ปกติได้ด้วย: stdout = open("file", "a") แต่ฉันชอบวิธีที่ไม่ใช้โลคัลไดรฟ์มากกว่า ฉันกำลังมองหาบางอย่างเช่นBufferedReaderใน Java ที่สามารถใช้เพื่อห่อบัฟเฟอร์ลงในสตรีม


8
เหตุใดการใช้ "eval" จึงเป็นการปฏิบัติที่ไม่ดี
ฉันใช้คลาสต่อไปนี้เพื่อจัดเก็บข้อมูลเพลงของฉันได้อย่างง่ายดาย class Song: """The class to store the details of each song""" attsToStore=('Name', 'Artist', 'Album', 'Genre', 'Location') def __init__(self): for att in self.attsToStore: exec 'self.%s=None'%(att.lower()) in locals() def setDetail(self, key, val): if key in self.attsToStore: exec 'self.%s=val'%(key.lower()) in locals() ฉันรู้สึกว่าสิ่งนี้สามารถขยายได้มากกว่าการเขียนif/elseบล็อก อย่างไรก็ตามevalดูเหมือนว่าจะถือเป็นการปฏิบัติที่ไม่ดีและไม่ปลอดภัยในการใช้งาน ถ้าเป็นเช่นนั้นใครช่วยอธิบายให้ฉันเข้าใจว่าทำไมและแสดงวิธีที่ดีกว่าในการกำหนดชั้นเรียนข้างต้น
141 python  eval 

2
จะเพิ่มคอลัมน์ค่าคงที่ใน Spark DataFrame ได้อย่างไร
ฉันต้องการเพิ่มคอลัมน์ใน a DataFrameโดยมีค่าตามอำเภอใจ (ซึ่งเหมือนกันสำหรับแต่ละแถว) ฉันได้รับข้อผิดพลาดเมื่อใช้withColumnดังนี้: dt.withColumn('new_column', 10).head(5) --------------------------------------------------------------------------- AttributeError Traceback (most recent call last) <ipython-input-50-a6d0257ca2be> in <module>() 1 dt = (messages 2 .select(messages.fromuserid, messages.messagetype, floor(messages.datetime/(1000*60*5)).alias("dt"))) ----> 3 dt.withColumn('new_column', 10).head(5) /Users/evanzamir/spark-1.4.1/python/pyspark/sql/dataframe.pyc in withColumn(self, colName, col) 1166 [Row(age=2, name=u'Alice', age2=4), Row(age=5, name=u'Bob', age2=7)] 1167 """ -> 1168 return self.select('*', col.alias(colName)) 1169 1170 …

9
อัลกอริทึมการค้นหาจุดสูงสุดสำหรับ Python / SciPy
ฉันสามารถเขียนอะไรบางอย่างได้ด้วยตัวเองโดยการหาจุดตัดของอนุพันธ์อันดับหนึ่งหรือบางอย่างเป็นศูนย์ แต่ดูเหมือนว่าจะเป็นฟังก์ชันทั่วไปที่เพียงพอที่จะรวมอยู่ในไลบรารีมาตรฐาน มีใครรู้จักไหม แอปพลิเคชันเฉพาะของฉันคืออาร์เรย์ 2 มิติ แต่โดยปกติแล้วจะใช้สำหรับการค้นหาจุดสูงสุดใน FFT เป็นต้น โดยเฉพาะอย่างยิ่งในปัญหาประเภทนี้มียอดเขาที่แข็งแกร่งหลายจุดและมี "ยอด" ขนาดเล็กจำนวนมากที่เกิดจากเสียงรบกวนที่ควรละเว้น นี่เป็นเพียงตัวอย่างเท่านั้น ไม่ใช่ข้อมูลจริงของฉัน: จุดสูงสุด 1 มิติ: จุดสูงสุด 2 มิติ: อัลกอริธึมการค้นหาจุดสูงสุดจะค้นหาตำแหน่งของยอดเขาเหล่านี้ (ไม่ใช่แค่ค่าของมัน) และตามหลักการแล้วจะหาจุดสูงสุดระหว่างตัวอย่างที่แท้จริงไม่ใช่แค่ดัชนีที่มีค่าสูงสุดเท่านั้นอาจใช้การแก้ไขกำลังสองหรืออะไรบางอย่าง โดยปกติคุณจะดูแลเกี่ยวกับยอดที่แข็งแกร่งไม่กี่ดังนั้นพวกเขาต้องการอย่างใดอย่างหนึ่งได้รับเลือกเพราะพวกเขากำลังเหนือเกณฑ์ที่กำหนดหรือเพราะพวกเขาเป็นคนแรกnยอดรายการสั่งซื้อ, การจัดอันดับโดยกว้าง อย่างที่บอกว่าฉันรู้วิธีเขียนอะไรแบบนี้ด้วยตัวเอง ฉันแค่ถามว่ามีฟังก์ชั่นหรือแพ็คเกจที่มีอยู่แล้วซึ่งทราบว่าทำงานได้ดีหรือไม่ อัปเดต: ฉันแปลสคริปต์ MATLABและใช้งานได้ดีสำหรับกรณี 1-D แต่อาจจะดีกว่านี้ อัปเดตการอัปเดต: sixtenbe สร้างเวอร์ชันที่ดีกว่าสำหรับเคส 1 มิติ

21
กำลังตรวจสอบการเชื่อมต่อเครือข่าย
ฉันต้องการดูว่าฉันสามารถเข้าถึง API ออนไลน์ได้หรือไม่ แต่ฉันต้องเข้าถึงอินเทอร์เน็ตได้ ฉันจะดูได้อย่างไรว่ามีการเชื่อมต่อและใช้งานได้โดยใช้ Python
141 python  networking 

30
Django - makemigrations - ไม่พบการเปลี่ยนแปลง
ฉันพยายามสร้างการย้ายข้อมูลภายในแอปที่มีอยู่โดยใช้คำสั่ง makemigrations แต่ผลลัพธ์ออกมาว่า "ไม่พบการเปลี่ยนแปลง" โดยปกติฉันจะสร้างแอพใหม่โดยใช้startappคำสั่ง แต่ไม่ได้ใช้กับแอพนี้ตอนที่สร้าง หลังจากแก้ไขข้อบกพร่องฉันพบว่าไม่ได้สร้างการย้ายข้อมูลเนื่องจากmigrationsแพ็กเกจ / โฟลเดอร์หายไปจากแอป จะดีกว่าไหมถ้าสร้างโฟลเดอร์ขึ้นมาถ้าไม่มีหรือฉันทำอะไรหายไป

30
วิธีการเขียนลำดับฟีโบนักชี?
ตอนแรกฉันเขียนโปรแกรมผิด แทนที่จะส่งกลับตัวเลข Fibonacci ระหว่างช่วง (เช่น startNumber 1, endNumber 20 ควร = เฉพาะตัวเลขระหว่าง 1 และ 20) ฉันได้เขียนโปรแกรมเพื่อแสดงตัวเลข Fibonacci ทั้งหมดระหว่างช่วง (เช่น startNumber 1, หมายเลขท้าย 20 แสดง = หมายเลข Fibonacci 20 หมายเลขแรก) ฉันคิดว่าฉันมีรหัสที่แน่นอน ฉันยังไม่เห็นว่าทำไมสิ่งนี้จึงเกิดขึ้น startNumber = int(raw_input("Enter the start number here ")) endNumber = int(raw_input("Enter the end number here ")) def fib(n): if …

29
Django 1.7 - makemigrations ไม่พบการเปลี่ยนแปลง
ตามที่ชื่อบอกว่าฉันไม่สามารถย้ายข้อมูลได้ แอพนี้มีอายุต่ำกว่า 1.6 ดังนั้นฉันเข้าใจว่าการย้ายข้อมูลจะไม่อยู่ที่นั่นในตอนแรกและแน่นอนถ้าฉันเรียกใช้python manage.py migrateฉันจะได้รับ: Operations to perform: Synchronize unmigrated apps: myapp Apply all migrations: admin, contenttypes, auth, sessions Synchronizing apps without migrations: Creating tables... Installing custom SQL... Installing indexes... Running migrations: No migrations to apply. ถ้าฉันทำการเปลี่ยนแปลงกับโมเดลใด ๆmyappมันก็ยังคงบอกว่าไม่มีการย้ายตามที่คาดไว้ แต่ถ้าฉันวิ่งpython manage.py makemigrations myappฉันจะได้รับ: No changes detected in app 'myapp' ดูเหมือนจะไม่สำคัญว่าฉันจะเรียกใช้คำสั่งอะไรหรืออย่างไรมันไม่เคยตรวจพบแอปว่ามีการเปลี่ยนแปลงหรือไม่เพิ่มไฟล์การย้ายข้อมูลใด …

12
ใช้ Pylint กับ Django
ฉันอยากจะรวมpylintเข้ากับกระบวนการสร้างสำหรับโครงการ python ของฉัน แต่ฉันได้ใช้ในการแสดงครั้งเดียว: หนึ่งในประเภทข้อผิดพลาดที่ฉันพบว่ามีประโยชน์มาก -: - E1101: *%s %r has no %r member*รายงานข้อผิดพลาดเมื่อใช้เขตข้อมูล django ทั่วไป , ตัวอย่างเช่น: E1101:125:get_user_tags: Class 'Tag' has no 'objects' member ซึ่งเกิดจากรหัสนี้: def get_user_tags(username): """ Gets all the tags that username has used. Returns a query set. """ return Tag.objects.filter( ## This line triggers the error. …

9
ทำไมเราต้องใช้สิ่งอันดับใน Python (หรือชนิดข้อมูลที่ไม่เปลี่ยนรูปแบบ)
ฉันได้อ่านแบบฝึกหัด python หลายตัว (Dive Into Python สำหรับหนึ่ง) และการอ้างอิงภาษาบน Python.org - ฉันไม่เห็นว่าทำไมภาษาจึงต้องการสิ่งอันดับ สิ่งอันดับไม่มีวิธีการเปรียบเทียบกับรายการหรือชุดและถ้าฉันต้องแปลง tuple เป็นชุดหรือรายการเพื่อให้สามารถเรียงลำดับได้จุดของการใช้สิ่งอันดับคืออะไร เปลี่ยนไม่ได้? ทำไมทุกคนถึงสนใจว่าตัวแปรอาศัยอยู่ในที่ที่แตกต่างกันในความทรงจำมากกว่าตอนที่มันถูกจัดสรรไว้ในตอนแรก? ธุรกิจทั้งหมดของการเปลี่ยนแปลงไม่ได้ใน Python นี้ดูเหมือนจะเน้นมากกว่า ใน C / C ++ ถ้าฉันจัดสรรตัวชี้และชี้ไปที่หน่วยความจำที่ใช้ได้ฉันไม่สนใจว่าที่อยู่นั้นอยู่ที่ไหนตราบใดที่มันไม่ว่างก่อนที่ฉันจะใช้ เมื่อใดก็ตามที่ฉันอ้างอิงตัวแปรนั้นฉันไม่จำเป็นต้องรู้ว่าตัวชี้ยังคงชี้ไปยังที่อยู่เดิมหรือไม่ ฉันแค่ตรวจสอบโมฆะและใช้มัน (หรือไม่) ใน Python เมื่อฉันจัดสรรสตริง (หรือ tuple) กำหนดให้กับ x จากนั้นแก้ไขสตริงทำไมฉันถึงสนใจว่ามันเป็นวัตถุดั้งเดิมหรือไม่ ตราบใดที่ตัวแปรชี้ไปยังข้อมูลของฉันนั่นคือทั้งหมดที่สำคัญ >>> x='hello' >>> id(x) 1234567 >>> x='good bye' >>> id(x) 5432167 x ยังคงอ้างอิงข้อมูลที่ฉันต้องการทำไมทุกคนต้องสนใจว่า …
140 python  tuples 

12
คุณสามารถตั้งชื่อ verbose ให้กับแอพ Django ทั่วทั้งผู้ดูแลได้หรือไม่?
เช่นเดียวกับที่คุณสามารถให้ชื่อฟิลด์และแบบจำลองที่ปรากฏในผู้ดูแลระบบ Django คุณสามารถตั้งชื่อที่กำหนดเองให้แอปได้หรือไม่
140 python  django 

11
ตกแต่งงูหลามในชั้นเรียน
หนึ่งสามารถเขียนสิ่งที่ชอบ: class Test(object): def _decorator(self, foo): foo() @self._decorator def bar(self): pass สิ่งนี้ล้มเหลว: ไม่รู้จักตนเองใน @self ฉันก็ลอง: @Test._decorator(self) ซึ่งยังล้มเหลว: ทดสอบที่ไม่รู้จัก ฉันต้องการเปลี่ยนตัวแปรอินสแตนซ์ในมัณฑนากรชั่วคราวแล้วเรียกใช้วิธีการตกแต่งก่อนที่จะเปลี่ยนกลับ
140 python  class  decorator  self 

20
ฉันจะติดตั้ง PyCrypto บน Windows ได้อย่างไร
ฉันได้อ่านซอร์สของ google และเธรด SO อื่น ๆ แล้วโดยที่ไม่มีอะไรทำงานเลย Python 2.7.3 32bitWindows 7 64bitติดตั้งบน ดาวน์โหลดแยกแล้วพยายามติดตั้งผลลัพธ์ของ PyCrypto"Unable to find vcvarsall.bat". ดังนั้นฉันจึงติดตั้ง MinGW และตะปูหัวโตบนบรรทัดการติดตั้งเป็นคอมไพเลอร์ของทางเลือก แต่ฉันก็ได้รับข้อผิดพลาด"RuntimeError: chmod error". ฉันจะไปรอบนี้ได้อย่างไรในโลก? ฉันลองใช้ pip ซึ่งให้ผลลัพธ์เหมือนกัน ฉันพบ PyCrypto 2.3 ไบนารีที่สร้างไว้ล่วงหน้าและติดตั้งแล้ว แต่ไม่มีที่ไหนเลยที่จะพบในระบบ (ไม่ทำงาน) ความคิดใด ๆ

10
วิธีที่สวยงามกว่าในการประกาศตัวแปรหลายตัวในเวลาเดียวกัน
หากต้องการประกาศหลายตัวแปรใน "เวลาเดียวกัน" ฉันจะทำ: a, b = True, False แต่ถ้าฉันต้องประกาศตัวแปรมากขึ้นมันจะเปลี่ยนไปน้อยลงและสง่างามน้อยลง: a, b, c, d, e, f, g, h, i, j = True, True, True, True, True, False, True ,True , True, True มีวิธีที่ดีกว่า / หรูหรา / สะดวกในการทำเช่นนี้? สิ่งนี้จะต้องเป็นพื้นฐาน แต่ถ้าฉันใช้รายการหรือทูเปิลสำหรับเก็บตัวแปรฉันจะต้องเข้าหาอย่างไรเพื่อที่ฉันจะได้มีประโยชน์ตั้งแต่: aList = [a,b] ไม่ถูกต้องฉันจะต้องทำ: a, b = True, True หรือฉันจะพลาดอะไร

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