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

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

6
วิธีที่รวดเร็วในการคัดลอกพจนานุกรมใน Python
ฉันมีโปรแกรม Python ที่ทำงานร่วมกับพจนานุกรมได้มากมาย ฉันต้องทำสำเนาพจนานุกรมหลายพันครั้ง ฉันต้องการสำเนาของทั้งคีย์และเนื้อหาที่เกี่ยวข้อง สำเนาจะถูกแก้ไขและจะต้องไม่เชื่อมโยงกับต้นฉบับ (เช่นการเปลี่ยนแปลงในสำเนาจะต้องไม่ส่งผลกระทบต่อต้นฉบับ) คีย์คือสตริงค่าคือจำนวนเต็ม (0/1) ปัจจุบันฉันใช้วิธีง่ายๆ: newDict = oldDict.copy() การสร้างโปรไฟล์รหัสของฉันแสดงให้เห็นว่าการดำเนินการคัดลอกใช้เวลาส่วนใหญ่ มีทางเลือกอื่นที่เร็วกว่าสำหรับdict.copy()วิธีนี้หรือไม่? อะไรจะเร็วที่สุด?

1
กระจายคิวงาน (เช่นคื่นฉ่าย) เทียบกับสคริปต์ crontab
ฉันมีปัญหาในการทำความเข้าใจวัตถุประสงค์ของ 'คิวงานแบบกระจาย' ยกตัวอย่างเช่นงูหลามเป็นห้องสมุดคื่นฉ่าย ฉันรู้ว่าในคื่นฉ่ายซึ่งเป็นเฟรมเวิร์กของไพ ธ อนคุณสามารถตั้งค่าหน้าต่างที่กำหนดเวลาเพื่อให้ฟังก์ชันทำงาน อย่างไรก็ตามสามารถทำได้อย่างง่ายดายใน linux crontab ที่กำกับไว้ที่สคริปต์ python และเท่าที่ฉันรู้และแสดงจากเว็บแอป django-celery ของฉันเองคื่นฉ่ายใช้หน่วยความจำ RAM มากกว่าการตั้งค่า crontab ดิบ ความแตกต่างเพียงไม่กี่ร้อย MB สำหรับแอปที่ค่อนข้างเล็ก ใครสามารถช่วยฉันด้วยความแตกต่างนี้? บางทีคำอธิบายระดับสูงเกี่ยวกับวิธีการทำงานของคิวงาน / crontabs โดยทั่วไปก็น่าจะดีเช่นกัน ขอบคุณ.
92 python  django  celery 

2
ไฟล์. pyc จะรีเฟรชเมื่อใด
ฉันเข้าใจว่าไฟล์ ".pyc" เป็นไฟล์ ".py" เวอร์ชันคอมไพล์ซึ่งสร้างขึ้นที่รันไทม์เพื่อให้โปรแกรมทำงานได้เร็วขึ้น อย่างไรก็ตามฉันสังเกตเห็นบางสิ่ง: เมื่อแก้ไขไฟล์ "py" พฤติกรรมของโปรแกรมจะเปลี่ยนไป สิ่งนี้บ่งชี้ว่าไฟล์ "py" ได้รับการคอมไพล์แล้วหรืออย่างน้อยก็ผ่านกระบวนการแฮชบางประเภทหรือเปรียบเทียบการประทับเวลาเพื่อที่จะบอกได้ว่าควรจะคอมไพล์ใหม่ เมื่อลบไฟล์ ".pyc" ทั้งหมด ( rm *.pyc) บางครั้งพฤติกรรมของโปรแกรมจะเปลี่ยนไป ซึ่งจะแสดงว่าไม่มีการคอมไพล์ในการอัปเดต ".py" คำถาม: พวกเขาตัดสินใจอย่างไรเมื่อจะรวบรวม? มีวิธีตรวจสอบที่เข้มงวดมากขึ้นในระหว่างการพัฒนาหรือไม่?

7
รัน% matplotlib แบบอินไลน์โดยอัตโนมัติใน IPython Notebook
ทุกครั้งที่เปิด IPython Notebook คำสั่งแรกที่เรียกใช้คือ %matplotlib inline มีวิธีใดบ้างในการเปลี่ยนไฟล์กำหนดค่าของฉันเพื่อที่เมื่อฉันเปิดใช้งาน IPython ไฟล์นั้นจะอยู่ในโหมดนี้โดยอัตโนมัติหรือไม่

8
Python เร็วและเบากว่า C ++ หรือไม่? [ปิด]
ตามที่กล่าวมาในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบถาม & ตอบของเรา เราคาดหวังว่าคำตอบจะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้อาจก่อให้เกิดการถกเถียงโต้แย้งการสำรวจความคิดเห็นหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงได้และอาจเปิดขึ้นมาใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อรับคำแนะนำ ปิดให้บริการใน8 ปีที่ผ่านมา ฉันคิดเสมอว่าข้อดีของ Python คือความสามารถในการอ่านโค้ดและความเร็วในการพัฒนา แต่การใช้เวลาและหน่วยความจำไม่ดีเท่า C ++ สถิติเหล่านี้ทำให้ฉันประทับใจอย่างมาก ประสบการณ์ของคุณบอกอะไรคุณเกี่ยวกับเวลา Python เทียบกับ C ++ และการใช้หน่วยความจำ

9
ImportError: ไม่สามารถนำเข้าชื่อ NUMPY_MKL
ฉันพยายามเรียกใช้โค้ดง่ายๆต่อไปนี้ import scipy scipy.test() แต่ฉันได้รับข้อผิดพลาดต่อไปนี้ Traceback (most recent call last): File "<stdin>", line 1, in <module> File "C:\Python27\lib\site-packages\spyderlib\widgets\externalshell\sitecustomize.py", line 586, in runfile execfile(filename, namespace) File "C:/Users/Mustafa/Documents/My Python Code/SpectralGraphAnalysis/main.py", line 8, in <module> import scipy File "C:\Python27\lib\site-packages\scipy\__init__.py", line 61, in <module> from numpy._distributor_init import NUMPY_MKL # requires numpy+mkl ImportError: cannot import …

3
เหตุใดสูงสุดจึงช้ากว่าการเรียงลำดับ
ฉันพบว่าmaxช้ากว่าsortฟังก์ชันใน Python 2 และ 3 Python 2 $ python -m timeit -s 'import random;a=range(10000);random.shuffle(a)' 'a.sort();a[-1]' 1000 loops, best of 3: 239 usec per loop $ python -m timeit -s 'import random;a=range(10000);random.shuffle(a)' 'max(a)' 1000 loops, best of 3: 342 usec per loop Python 3 $ python3 -m timeit -s 'import random;a=list(range(10000));random.shuffle(a)' …

12
เป็นไปได้ไหมที่จะซ่อนเบราว์เซอร์ใน Selenium RC
ฉันใช้ Selenium RC เพื่อทำให้การทำงานของเบราว์เซอร์เป็นไปโดยอัตโนมัติ แต่ฉันต้องการให้เบราว์เซอร์มองไม่เห็น เป็นไปได้หรือไม่ อย่างไร? แล้ว Selenium Grid ล่ะ? ฉันสามารถซ่อนหน้าต่าง Selenium RC ได้หรือไม่

9
กำลังมองหาโครงสร้างข้อมูล Python Tree ที่ดี [ปิด]
ปิด. คำถามนี้ไม่เป็นไปตามหลักเกณฑ์กองมากเกิน ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Stack Overflow ปิดให้บริการใน5 ปีที่ผ่านมา ปรับปรุงคำถามนี้ ฉันกำลังมองหาคลาสโครงสร้างข้อมูล Tree ที่ดี ฉันเจอแพ็คเกจนี้แต่เนื่องจากฉันค่อนข้างใหม่กับ Python (ไม่ใช่การเขียนโปรแกรม) ฉันจึงไม่รู้ว่ามีแพ็คเกจที่ดีกว่านี้หรือไม่ ฉันต้องการฟังจาก Pythonistas ที่นี่ - คุณมีสคริปต์ต้นไม้โปรดที่คุณใช้เป็นประจำและจะแนะนำหรือไม่? [แก้ไข] เพื่อความชัดเจนโดย 'Tree' ฉันหมายถึงต้นไม้ที่ไม่มีการเรียงลำดับธรรมดา ๆ (อืมนั่นเป็นคำจำกัดความแบบวนซ้ำ - แต่หวังว่าจะให้ความกระจ่างในสิ่งต่างๆบ้าง) เกี่ยวกับสิ่งที่ฉันต้องการต้นไม้ (เช่น use case) ฉันกำลังอ่านข้อมูลทรีจากไฟล์แบบแบนและฉันจำเป็นต้องสร้างต้นไม้จากข้อมูลและสำรวจโหนดทั้งหมดในทรี
92 python 

5
ฉันจะรับแผนโต้ตอบอีกครั้งใน Spyder / IPython / matplotlib ได้อย่างไร
ฉันอัปเกรดจาก Python (x, y) 2.7.2.3 เป็น2.7.6.0ใน Windows 7 (และดีใจที่เห็นว่าในที่สุดฉันก็สามารถพิมพ์function_name?และดู docstring ใน Object Inspector ได้อีกครั้ง) แต่ตอนนี้การพล็อตไม่ได้ผล เคย. ก่อนหน้านี้ (Spyder 2.1.9, IPython 0.10.2, matplotlib 1.2.1) ตัวอย่างเช่นเมื่อฉันลงจุดสคริปต์นี้มันจะพล็อตพล็อตย่อยเคียงข้างกันในหน้าต่างโต้ตอบ: ตอนนี้ (Spyder 2.2.5, IPython 1.2.0, Matplotlib 1.3.1) เมื่อฉันพยายามพล็อตสิ่งต่าง ๆ มันจะทำพล็อตย่อยเป็น PNG แบบอินไลน์เล็ก ๆ ซึ่งเป็นการเปลี่ยนแปลงใน IPython : ดังนั้นฉันจึงเข้าไปในตัวเลือกและพบสิ่งนี้: ซึ่งดูเหมือนจะบอกว่าฉันสามารถเอาแผนโต้ตอบแบบเก่ากลับมาได้โดยมี 4 พล็อตย่อยที่แสดงเคียงข้างกัน แต่เมื่อฉันเปลี่ยนเป็น "อัตโนมัติ" และพยายามที่จะพล็อตบางอย่าง ไม่มีพล็อตเลย ถ้าฉันเปลี่ยนดรอปดาวน์นี้เป็น Qt …

5
จำลอง Bash 'source' ใน Python
ฉันมีสคริปต์ที่มีลักษณะดังนี้: export foo=/tmp/foo export bar=/tmp/bar ทุกครั้งที่สร้างฉันจะเรียกใช้ 'source init_env' (โดยที่ init_env เป็นสคริปต์ด้านบน) เพื่อตั้งค่าตัวแปรบางตัว เพื่อให้บรรลุสิ่งเดียวกันใน Python ฉันมีรหัสนี้ทำงานอยู่ reg = re.compile('export (?P<name>\w+)(\=(?P<value>.+))*') for line in open(file): m = reg.match(line) if m: name = m.group('name') value = '' if m.group('value'): value = m.group('value') os.putenv(name, value) แต่แล้วมีคนตัดสินใจว่าจะเป็นการดีที่จะเพิ่มบรรทัดต่อไปนี้ลงในinit_envไฟล์: export PATH="/foo/bar:/bar/foo:$PATH" เห็นได้ชัดว่าสคริปต์ Python ของฉันพังทลาย ฉันสามารถแก้ไขสคริปต์ Python เพื่อจัดการกับบรรทัดนี้ …
92 python  bash 

3
Python Module ที่มีเส้นประหรือยัติภังค์ (-) อยู่ในชื่อ
ฉันมีโมดูล python ที่มีเครื่องหมายขีดกลางอยู่ในชื่อ foo-bar.py การเปลี่ยนชื่อโมดูลเป็นสิ่งที่ฉันต้องการหลีกเลี่ยงเนื่องจากมีการแชร์โมดูลและฉันจะต้องไล่ตามสถานที่ทั้งหมดที่ใช้เพื่อให้กรณีพิเศษของฉันทำงานได้ มีวิธีโหลดโมดูลที่มีชื่อต้องห้าม '-' หรือไม่? (ฉันเข้าใจว่านี่ไม่ใช่แนวทางปฏิบัติที่ดีที่สุด แต่สำหรับสถานการณ์นี้ฉันไม่ต้องการที่จะออกแบบใหม่และทดสอบชุดแอปพลิเคชันที่ใหญ่กว่านี้นอกจากนี้ฉันไม่คิดว่าอาจารย์ในองค์กรของฉันจะอนุมัติให้ฉันใช้เวลาในการใช้งาน การเปลี่ยนแปลงดังกล่าว)
92 python  module  import 

15
เรียกใช้โปรแกรมภายนอก (ปฏิบัติการ) ใน Python?
ฉันเพิ่งเริ่มทำงานกับ Python และฉันพยายามเรียกใช้ไฟล์ปฏิบัติการภายนอกจาก Python ฉันมีไฟล์ปฏิบัติการสำหรับโปรแกรมที่เขียนใน Fortran สมมติว่าชื่อของไฟล์ปฏิบัติการคือ flow.exe และไฟล์ปฏิบัติการของฉันอยู่ในC:\Documents and Settings\flow_model. ฉันลองทั้งคำสั่ง os.system และ popen แต่จนถึงตอนนี้ฉันไม่สามารถใช้งานได้ ดูเหมือนว่าโค้ดต่อไปนี้จะเปิดหน้าต่างคำสั่ง แต่จะไม่เรียกใช้โมเดล # Import system modules import sys, string, os, arcgisscripting os.system("C:/Documents and Settings/flow_model/flow.exe") ฉันจะแก้ไขปัญหานี้ได้อย่างไร?

2
Python มี stack / heap หรือไม่และหน่วยความจำมีการจัดการอย่างไร?
ตัวแปรและหน่วยความจำจัดการอย่างไรใน Python มีสแต็กและฮีปหรือไม่และอัลกอริทึมใดที่ใช้ในการจัดการหน่วยความจำ? จากความรู้นี้มีคำแนะนำเกี่ยวกับการจัดการหน่วยความจำสำหรับการประมวลผลข้อมูลจำนวนมากหรือไม่?


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