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

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

20
ตรวจสอบให้แน่ใจว่ามีโปรแกรมทำงานอยู่เพียงอินสแตนซ์เดียว
มีวิธี Pythonic ที่จะมีโปรแกรมทำงานเพียงอินสแตนซ์เดียวหรือไม่? วิธีแก้ปัญหาที่สมเหตุสมผลเพียงวิธีเดียวที่ฉันคิดขึ้นมาคือพยายามเรียกใช้เป็นเซิร์ฟเวอร์ในบางพอร์ตจากนั้นโปรแกรมที่สองพยายามผูกกับพอร์ตเดียวกัน - ล้มเหลว แต่มันก็ไม่ใช่ความคิดที่ดีจริงๆอาจจะมีอะไรที่เบากว่านี้? (โปรดพิจารณาว่าโปรแกรมที่คาดว่าจะล้มเหลวในบางครั้งเช่น segfault ดังนั้นสิ่งต่างๆเช่น "ล็อกไฟล์" จะไม่ทำงาน)

6
การบันทึกตัวเลข Matplotlib แบบโต้ตอบ
มีวิธีบันทึกรูป Matplotlib เพื่อให้สามารถเปิดใหม่และเรียกคืนการโต้ตอบทั่วไปได้หรือไม่? (เช่นเดียวกับรูปแบบ. fig ใน MATLAB หรือไม่) ฉันพบว่าตัวเองใช้สคริปต์เดียวกันหลายครั้งเพื่อสร้างตัวเลขเชิงโต้ตอบเหล่านี้ หรือฉันกำลังส่งไฟล์ PNG แบบคงที่ให้เพื่อนร่วมงานหลายไฟล์เพื่อแสดงแง่มุมต่างๆ ฉันอยากจะส่งวัตถุรูปและให้พวกเขาโต้ตอบด้วยตัวเอง
120 python  matplotlib 

10
จะรับตัวแปรอินสแตนซ์ใน Python ได้อย่างไร
มีวิธีการในตัวใน Python เพื่อรับอาร์เรย์ของตัวแปรอินสแตนซ์คลาสทั้งหมดหรือไม่ ตัวอย่างเช่นหากฉันมีรหัสนี้: class hi: def __init__(self): self.ii = "foo" self.kk = "bar" มีวิธีให้ฉันทำไหม: >>> mystery_method(hi) ["ii", "kk"] แก้ไข: เดิมทีฉันขอตัวแปรคลาสผิดพลาด

7
การแทรกวัตถุ Python datetime.datetime ลงใน MySQL
ฉันมีคอลัมน์วันที่ในตาราง MySQL ฉันต้องการแทรกdatetime.datetime()วัตถุลงในคอลัมน์นี้ ฉันควรใช้อะไรในคำสั่ง execute ฉันเหนื่อย: now = datetime.datetime(2009,5,5) cursor.execute("INSERT INTO table (name, id, datecolumn) VALUES (%s, %s , %s)",("name", 4,now)) ฉันได้รับข้อผิดพลาดเป็น: "TypeError: not all arguments converted during string formatting" ฉันควรใช้อะไรแทน%s?
120 python  mysql  datetime 

23
ImportError: ไม่มีโมดูลชื่อ Crypto.Cipher
เมื่อฉันพยายามเรียกใช้ app.py (Python 3.3, PyCrypto 2.6) Virtualenv ของฉันยังคงส่งคืนข้อผิดพลาดที่ระบุไว้ด้านบน ใบแจ้งการนำเข้าของฉันเป็นเพียงfrom Crypto.Cipher import AES. ฉันมองหารายการที่ซ้ำกันและคุณอาจบอกว่ามีบ้าง แต่ฉันลองวิธีแก้ไขแล้ว (แม้ว่าส่วนใหญ่จะไม่ใช่วิธีแก้ปัญหา) และไม่มีอะไรได้ผล คุณสามารถดูว่าไฟล์เป็นอย่างไรสำหรับ PyCrypto ด้านล่าง:

8
นำเข้าโมดูลโดยอัตโนมัติเมื่อป้อนตัวแปล python หรือ ipython
ฉันพบว่าตัวเองพิมพ์import numpy as npเกือบทุกครั้งที่เปิดเครื่องล่ามงูหลาม ฉันจะตั้งค่าตัวแปล python หรือ ipython เพื่อให้นำเข้าโดยอัตโนมัติได้อย่างไร
120 python  numpy  ipython 

8
ฉันจะหาอาร์เรย์ว่างขนาดใดก็ได้ใน python ได้อย่างไร
โดยทั่วไปฉันต้องการ python เทียบเท่ากับสิ่งนี้ใน C: int a[x]; แต่ใน python ฉันประกาศอาร์เรย์เช่น: a = [] และปัญหาคือฉันต้องการกำหนดช่องสุ่มด้วยค่าเช่น: a[4] = 1 แต่ฉันไม่สามารถทำได้ด้วย python เนื่องจากอาร์เรย์ว่างเปล่า

7
ตรวจสอบ NaN ใน NumPy อย่างรวดเร็ว
ฉันกำลังมองหาวิธีที่เร็วที่สุดในการตรวจสอบการเกิดขึ้นของน่าน (คนnp.nan) Xในอาร์เรย์ np.isnan(X)หมดปัญหาเนื่องจากมันสร้างอาร์เรย์ของรูปร่างบูลีนX.shapeซึ่งอาจมีขนาดมหึมา ฉันพยายามแต่ที่ดูเหมือนจะไม่ทำงานเพราะnp.nan in X np.nan != np.nanมีวิธีที่รวดเร็วและประหยัดหน่วยความจำในการดำเนินการนี้หรือไม่? (สำหรับคนที่ถามว่า "ยักษ์ขนาดไหน": ฉันบอกไม่ได้นี่คือการตรวจสอบอินพุตสำหรับรหัสไลบรารี)
120 python  numpy  nan 

10
สูตร Haversine ใน Python (แบริ่งและระยะห่างระหว่างจุด GPS สองจุด)
ปัญหา ผมอยากจะทราบวิธีการที่จะได้รับระยะทางและแบริ่งระหว่าง 2 จุดจีพีเอส ฉันได้ค้นคว้าเกี่ยวกับสูตรฮาเวอร์ซีน มีคนบอกฉันว่าฉันสามารถค้นหาตลับลูกปืนได้โดยใช้ข้อมูลเดียวกัน แก้ไข ทุกอย่างทำงานได้ดี แต่ตลับลูกปืนยังใช้งานไม่ได้ แบริ่งส่งผลลบ แต่ควรอยู่ระหว่าง 0-360 องศา ข้อมูลชุดควรทำให้แบริ่งแนวนอน96.02166666666666 และเป็น: Start point: 53.32055555555556 , -1.7297222222222221 Bearing: 96.02166666666666 Distance: 2 km Destination point: 53.31861111111111, -1.6997222222222223 Final bearing: 96.04555555555555 นี่คือรหัสใหม่ของฉัน: from math import * Aaltitude = 2000 Oppsite = 20000 lat1 = 53.32055555555556 lat2 = 53.31861111111111 lon1 …

1
การจำลองฟังก์ชันเพื่อเพิ่มข้อยกเว้นเพื่อทดสอบบล็อกยกเว้น
ฉันมีฟังก์ชัน ( foo) ซึ่งเรียกใช้ฟังก์ชันอื่น ( bar) หากเรียกใช้การbar()เพิ่มHttpErrorฉันต้องการจัดการเป็นพิเศษหากรหัสสถานะคือ 404 มิฉะนั้นจะเพิ่มอีกครั้ง ฉันพยายามที่จะเขียนทดสอบหน่วยบางรอบนี้ฟังก์ชั่นการเยาะเย้ยออกมาเรียกร้องให้foo bar()น่าเสียดายที่ฉันไม่สามารถรับการเรียกร้องที่เยาะเย้ยbar()ให้เพิ่มข้อยกเว้นซึ่งถูกexceptบล็อกของฉันได้ นี่คือรหัสของฉันที่แสดงถึงปัญหาของฉัน: import unittest import mock from apiclient.errors import HttpError class FooTests(unittest.TestCase): @mock.patch('my_tests.bar') def test_foo_shouldReturnResultOfBar_whenBarSucceeds(self, barMock): barMock.return_value = True result = foo() self.assertTrue(result) # passes @mock.patch('my_tests.bar') def test_foo_shouldReturnNone_whenBarRaiseHttpError404(self, barMock): barMock.side_effect = HttpError(mock.Mock(return_value={'status': 404}), 'not found') result = foo() self.assertIsNone(result) # …

17
ฉันจะสร้างกล่องข้อความธรรมดาใน Python ได้อย่างไร
ฉันกำลังมองหาเอฟเฟกต์เดียวกันกับalert()ใน JavaScript ฉันเขียนล่ามบนเว็บง่ายๆเมื่อบ่ายวันนี้โดยใช้ Twisted.web โดยทั่วไปคุณจะส่งบล็อกรหัส Python ผ่านแบบฟอร์มและไคลเอนต์ก็มาคว้าและเรียกใช้งาน ฉันต้องการที่จะสามารถสร้างข้อความป๊อปอัพง่ายๆโดยไม่ต้องเขียนโค้ดสำเร็จรูป wxPython หรือ TkInter ซ้ำทุกครั้ง (เนื่องจากรหัสถูกส่งผ่านแบบฟอร์มแล้วหายไป) ฉันได้ลอง tkMessageBox: import tkMessageBox tkMessageBox.showinfo(title="Greetings", message="Hello World!") แต่จะเปิดอีกหน้าต่างหนึ่งในพื้นหลังพร้อมไอคอน tk ฉันไม่ต้องการสิ่งนี้ ฉันกำลังมองหาโค้ด wxPython ง่ายๆ แต่ต้องตั้งค่าคลาสและเข้าสู่แอปลูปเป็นต้นไม่มีวิธีง่ายๆในการสร้างกล่องข้อความใน Python หรือไม่?
120 python  wxpython  tkinter 


10
ฉันจะรันคำสั่งภายนอกแบบอะซิงโครนัสจาก Python ได้อย่างไร
ฉันต้องการเรียกใช้คำสั่งเชลล์แบบอะซิงโครนัสจากสคริปต์ Python ด้วยเหตุนี้ฉันหมายความว่าฉันต้องการให้สคริปต์ Python ของฉันทำงานต่อไปในขณะที่คำสั่งภายนอกดับลงและทำทุกอย่างที่ต้องทำ ฉันอ่านโพสต์นี้: เรียกคำสั่งภายนอกใน Python จากนั้นฉันก็ออกไปและทำการทดสอบและดูเหมือนว่าos.system()จะทำงานได้หากฉันใช้&ในตอนท้ายของคำสั่งเพื่อที่ฉันจะได้ไม่ต้องรอให้มันกลับมา สิ่งที่ฉันสงสัยคือว่านี่เป็นวิธีที่เหมาะสมในการทำสิ่งนั้นให้สำเร็จหรือไม่? ฉันลองแล้วcommands.call()แต่มันไม่ได้ผลสำหรับฉันเพราะมันบล็อกคำสั่งภายนอก โปรดแจ้งให้เราทราบหากos.system()แนะนำให้ใช้เส้นทางนี้หรือควรลองเส้นทางอื่น

7
คุณจะทำ“ chmod + x” ง่ายๆจากภายใน python ได้อย่างไร?
ฉันต้องการสร้างไฟล์จากภายในสคริปต์ python ที่สามารถเรียกใช้งานได้ import os import stat os.chmod('somefile', stat.S_IEXEC) ดูเหมือนว่าos.chmodจะไม่ 'เพิ่ม' การอนุญาตแบบที่ยูนิกซ์chmodทำ ด้วยบรรทัดสุดท้ายออกความเห็นไฟล์มี filemode กับมันไม่ได้ออกความเห็นโหมดไฟล์เป็น-rw-r--r-- ---x------ฉันจะเพิ่มu+xค่าสถานะในขณะที่ยังคงโหมดที่เหลืออยู่ได้อย่างไร
120 python  chmod 

11
การแปลงรายการเป็นชุดจะเปลี่ยนลำดับองค์ประกอบ
เมื่อเร็ว ๆ นี้ฉันสังเกตเห็นว่าเมื่อฉันแปลง a listไปsetเป็นลำดับขององค์ประกอบมีการเปลี่ยนแปลงและเรียงลำดับตามอักขระ ลองพิจารณาตัวอย่างนี้: x=[1,2,20,6,210] print x # [1, 2, 20, 6, 210] # the order is same as initial order set(x) # set([1, 2, 20, 210, 6]) # in the set(x) output order is sorted คำถามของฉันคือ - เหตุใดจึงเกิดขึ้น ฉันจะตั้งค่าการดำเนินการ (โดยเฉพาะ Set Difference) โดยไม่สูญเสียคำสั่งเริ่มต้นได้อย่างไร
120 python  set 

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