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

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

6
เหตุใดจึงต้องใช้วิธีการโมดูลระบบปฏิบัติการของ Python แทนที่จะเรียกใช้คำสั่งเชลล์โดยตรง
ฉันพยายามเข้าใจว่าอะไรคือแรงจูงใจเบื้องหลังการใช้ฟังก์ชั่นไลบรารี่ของ Python สำหรับการทำงานเฉพาะระบบปฏิบัติการเช่นการสร้างไฟล์ / ไดเรกทอรีการเปลี่ยนคุณสมบัติของไฟล์ ฯลฯ แทนที่จะเพียงแค่เรียกใช้คำสั่งเหล่านั้นผ่านทางos.system()หรือsubprocess.call()? ยกตัวอย่างเช่นทำไมฉันต้องการที่จะใช้os.chmodแทนการทำos.system("chmod...")? ฉันเข้าใจว่ามันเป็น "pythonic" มากกว่าที่จะใช้วิธีการไลบรารีที่มีอยู่ของ Python ให้มากที่สุดแทนที่จะเป็นเพียงการดำเนินการคำสั่งเชลล์โดยตรง แต่มีแรงจูงใจอื่น ๆ ที่อยู่เบื้องหลังการทำเช่นนี้จากมุมมองการทำงานหรือไม่? ฉันแค่พูดถึงการใช้คำสั่งเชลล์แบบบรรทัดเดียวง่ายๆที่นี่ เมื่อเราต้องการการควบคุมการปฏิบัติงานมากขึ้นฉันเข้าใจว่าการใช้subprocessโมดูลมีเหตุผลมากกว่า

8
การติดตั้ง SciPy และ NumPy โดยใช้ pip
ฉันกำลังพยายามสร้างห้องสมุดที่ต้องการในแพ็คเกจที่ฉันกำลังแจกจ่าย มันต้องการทั้งห้องสมุดSciPyและNumPy ขณะที่การพัฒนาผมติดตั้งได้ทั้งการใช้ apt-get install scipy ซึ่งติดตั้ง SciPy 0.9.0 และ NumPy 1.5.1 และทำงานได้ดี ผมอยากจะทำเช่นเดียวกันโดยใช้pip install- เพื่อสามารถระบุการอ้างอิงใน setup.py ของแพคเกจของตัวเอง ปัญหาคือเมื่อฉันพยายาม: pip install 'numpy==1.5.1' มันใช้งานได้ดี แต่แล้ว pip install 'scipy==0.9.0' ล้มเหลวอย่างน่าสังเวชด้วย raise self.notfounderror(self.notfounderror.__doc__) numpy.distutils.system_info.BlasNotFoundError: Blas (http://www.netlib.org/blas/) libraries not found. Directories to search for the libraries can be specified in the numpy/distutils/site.cfg file (section …
157 python  numpy  scipy  pip  apt 

5
ฉันจะใช้สคริปต์ Python ในบรรทัดคำสั่งโดยไม่มี cd-ing ไปยังไดเรกทอรีได้อย่างไร มันเป็น PYTHONPATH หรือไม่
ฉันจะใช้ PYTHONPATH ได้อย่างไร เมื่อฉันพยายามเรียกใช้สคริปต์ในเส้นทางไม่พบไฟล์ เมื่อฉัน cd ไปยังไดเรกทอรีที่ถือสคริปต์สคริปต์จะทำงาน PYTHONPATH ดีอย่างไร? $ echo $PYTHONPATH :/home/randy/lib/python $ tree -L 1 '/home/randy/lib/python' /home/randy/lib/python ├── gbmx_html.py ├── gbmx.py ├── __init__.py ├── __pycache__ ├── scripts └── yesno.py $ python gbmx.py -h python: can't open file 'gbmx.py': [Errno 2] No such file or directory $ cd '/home/randy/lib/python' …
157 python  unix 

14
ส่งคืนผลิตภัณฑ์ของรายการ
มีวิธีรัดกุมมีประสิทธิภาพหรือเรียบง่ายกว่าในการทำสิ่งต่อไปนี้หรือไม่? def product(list): p = 1 for i in list: p *= i return p แก้ไข: ฉันพบว่ามันเร็วกว่าการใช้โอเปอเรเตอร์เล็กน้อย from operator import mul # from functools import reduce # python3 compatibility def with_lambda(list): reduce(lambda x, y: x * y, list) def without_lambda(list): reduce(mul, list) def forloop(list): r = 1 for x in …
157 python 

4
Python strptime () และเขตเวลา?
ฉันมี CSV dumpfile จากข้อมูลสำรอง IPD ของ Blackberry สร้างขึ้นโดยใช้ IPDDump สตริงวันที่ / เวลาในที่นี่จะมีลักษณะดังนี้ ( ESTเขตเวลาของออสเตรเลีย): Tue Jun 22 07:46:22 EST 2010 ฉันต้องสามารถแยกวิเคราะห์วันที่นี้ใน Python ได้ ตอนแรกฉันพยายามใช้strptime()ฟังก์ชั่นจากชุดข้อมูล >>> datetime.datetime.strptime('Tue Jun 22 12:10:20 2010 EST', '%a %b %d %H:%M:%S %Y %Z') อย่างไรก็ตามด้วยเหตุผลบางอย่างdatetimeวัตถุที่กลับมาดูเหมือนจะไม่มีความtzinfoเกี่ยวข้องใด ๆ ฉันได้อ่านในหน้านี้ซึ่งเห็นได้ชัดว่าdatetime.strptimeทิ้งไปอย่างเงียบ ๆtzinfoอย่างไรก็ตามฉันตรวจสอบเอกสารและฉันไม่พบสิ่งใดที่มีผลต่อเอกสารดังกล่าวที่นี่ ฉันสามารถแยกวิเคราะห์วันที่โดยใช้ห้องสมุด Python ของบุคคลที่สามdateutilได้ แต่ฉันก็ยังสงสัยว่าฉันใช้ตัวที่สร้างขึ้นstrptime()ไม่ถูกต้องได้อย่างไร มีวิธีใดบ้างที่จะได้strptime()เล่นกับเขตเวลาอย่างดี?


17
คุณจะจัดลำดับตัวอย่างรุ่นใน Django ได้อย่างไร
มีเอกสารจำนวนมากเกี่ยวกับวิธีการทำให้อนุกรม QuerySet เป็นแบบอนุกรม แต่คุณจะทำอนุกรมให้ JSON เป็นเขตข้อมูลของ Model Instance ได้อย่างไร

3
วนซ้ำไดเรกทอรีต่างๆด้วย Python
ฉันจำเป็นต้องทำซ้ำผ่านไดเรกทอรีย่อยของไดเรกทอรีที่กำหนดและค้นหาไฟล์ ถ้าฉันได้รับไฟล์ฉันต้องเปิดมันและเปลี่ยนเนื้อหาและแทนที่ด้วยบรรทัดของตัวเอง ฉันลองสิ่งนี้: import os rootdir ='C:/Users/sid/Desktop/test' for subdir, dirs, files in os.walk(rootdir): for file in files: f=open(file,'r') lines=f.readlines() f.close() f=open(file,'w') for line in lines: newline = "No you are not" f.write(newline) f.close() แต่ฉันได้รับข้อผิดพลาด ผมทำอะไรผิดหรือเปล่า?
157 python  directory 

5
วิธีรับขนาดของสตริงใน Python
ตัวอย่างเช่นฉันได้รับสตริง: str = "please answer my question" ฉันต้องการเขียนลงไฟล์ แต่ฉันต้องรู้ขนาดของสตริงก่อนที่จะเขียนสตริงลงในไฟล์ ฉันสามารถใช้ฟังก์ชันใดในการคำนวณขนาดของสตริงได้

5
วิธีการเปิดไฟล์ในไดเรกทอรีเดียวกันกับสคริปต์ Python อย่างน่าเชื่อถือ
ฉันเคยเปิดไฟล์ที่อยู่ในไดเรกทอรีเดียวกันกับสคริปต์ Python ที่กำลังรันอยู่โดยใช้คำสั่งเช่น open("Some file.txt", "r") อย่างไรก็ตามฉันค้นพบว่าเมื่อสคริปต์รันใน Windows โดยการดับเบิลคลิกมันจะพยายามเปิดไฟล์จากไดเรกทอรีที่ไม่ถูกต้อง ตั้งแต่นั้นมาฉันใช้คำสั่งของแบบฟอร์ม open(os.path.join(sys.path[0], "Some file.txt"), "r") เมื่อใดก็ตามที่ฉันต้องการเปิดไฟล์ สิ่งนี้ใช้ได้กับการใช้งานเฉพาะของฉัน แต่ฉันไม่แน่ใจว่าsys.path[0]อาจล้มเหลวในกรณีการใช้งานอื่น ๆ ดังนั้นคำถามของฉันคือวิธีที่ดีที่สุดและน่าเชื่อถือที่สุดในการเปิดไฟล์ที่อยู่ในไดเรกทอรีเดียวกับสคริปต์ Python ที่กำลังทำงานอยู่คืออะไร? นี่คือสิ่งที่ฉันสามารถเข้าใจได้: os.getcwd()และos.path.abspath('')ส่งคืน "ไดเรกทอรีทำงานปัจจุบัน" ไม่ใช่ไดเรกทอรีสคริปต์ os.path.dirname(sys.argv[0])และos.path.dirname(__file__)คืนค่าพา ธ ที่ใช้เรียกสคริปต์ซึ่งอาจสัมพันธ์หรือแม้แต่ว่างเปล่า (หากสคริปต์อยู่ใน cwd) นอกจากนี้__file__จะไม่มีอยู่เมื่อรันสคริปต์ใน IDLE หรือ PythonWin sys.path[0]และos.path.abspath(os.path.dirname(sys.argv[0]))ดูเหมือนจะส่งคืนไดเรกทอรีสคริปต์ ฉันไม่แน่ใจว่ามีความแตกต่างระหว่างสองสิ่งนี้หรือไม่ แก้ไข: ฉันเพิ่งรู้ว่าสิ่งที่ฉันต้องการจะอธิบายได้ดีกว่าว่า "เปิดไฟล์ในไดเรกทอรีเดียวกันกับโมดูลที่มี" กล่าวอีกนัยหนึ่งถ้าฉันนำเข้าโมดูลที่ฉันเขียนนั้นอยู่ในไดเรกทอรีอื่นและโมดูลนั้นเปิดไฟล์ฉันต้องการให้ค้นหาไฟล์ในไดเรกทอรีของโมดูล ฉันไม่คิดว่าจะพบสิ่งใดที่ฉันสามารถทำได้ ...
157 python  directory 

6
pythonw.exe หรือ python.exe?
เรื่องสั้นสั้น ๆ : pythonw.exeไม่ทำอะไรเลยไม่python.exeยอมรับอะไร (ฉันควรใช้อันไหนดี) test.py: print "a" หน้าต่าง CMD: C:\path>pythonw.exe test.py <BLANK LINE> C:\path> C:\path>python.exe test.py File "C:\path\test.py", line 7 print "a" ^ SyntaxError: invalid syntax C:\path> โปรดบอกฉันว่าฉันทำอะไรผิดอย่างร้ายแรง
157 python  python-3.x 

9
วิธีการตรวจสอบว่าวัตถุเป็นวัตถุกำเนิดในหลาม?
ในไพ ธ อนฉันจะตรวจสอบได้อย่างไรว่าวัตถุเป็นวัตถุกำเนิด? ลองนี้ - >>> type(myobject, generator) ให้ข้อผิดพลาด - Traceback (most recent call last): File "<stdin>", line 1, in <module> NameError: name 'generator' is not defined (ฉันรู้ว่าฉันสามารถตรวจสอบว่าวัตถุมีnextวิธีการที่จะเป็นตัวสร้างหรือไม่ แต่ฉันต้องการวิธีการใช้ซึ่งฉันสามารถกำหนดประเภทของวัตถุใด ๆ ไม่ใช่แค่กำเนิด)
157 python  generator 

7
วิธีการทำเส้นโค้งแบบเอ็กซ์โพเนนเชียลและลอการิทึมใน Python? ฉันพบว่าเหมาะสมกับพหุนามเท่านั้น
ฉันมีชุดข้อมูลและฉันต้องการเปรียบเทียบว่าบรรทัดใดอธิบายได้ดีที่สุด (พหุนามคำสั่งต่าง ๆ เลขยกกำลังหรือลอการิทึม) ผมใช้งูหลามและ Numpy polyfit()และเหมาะสมพหุนามมีฟังก์ชั่น แต่ฉันไม่พบฟังก์ชันดังกล่าวสำหรับการยกกำลังแบบเอ็กซ์โปเนนเชียลและลอการิทึม ยังมี .... บ้าง? หรือวิธีการแก้มันเป็นอย่างอื่น?

8
เพิ่มสตริงในตำแหน่งที่แน่นอนใน Python
มีฟังก์ชันใดใน Python ที่ฉันสามารถใช้เพื่อแทรกค่าในตำแหน่งที่แน่นอนของสตริงหรือไม่? บางสิ่งเช่นนี้ "3655879ACB6"จากนั้นในตำแหน่ง 4 เพิ่ม"-"เป็น"3655-879ACB6"
157 python  string 

3
รับผลสุดท้ายใน Python แบบโต้ตอบเชลล์
ในระบบคณิตศาสตร์เชิงสัญลักษณ์หลายแบบเช่น Matlab หรือ Mathematica คุณสามารถใช้ตัวแปรเช่นAnsหรือ%เพื่อดึงค่าที่คำนวณล่าสุด มีสิ่งอำนวยความสะดวกที่คล้ายกันในเปลือก Python หรือไม่?
157 python 

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