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

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

10
จะหลบหนีการเรียก os.system () ได้อย่างไร
เมื่อใช้ os.system () มักจำเป็นต้องหลีกเลี่ยงชื่อไฟล์และอาร์กิวเมนต์อื่น ๆ ที่ส่งผ่านเป็นพารามิเตอร์ไปยังคำสั่ง ฉันจะทำเช่นนี้ได้อย่างไร? โดยเฉพาะอย่างยิ่งสิ่งที่สามารถใช้ได้กับหลายระบบปฏิบัติการ / เชลล์ แต่โดยเฉพาะอย่างยิ่งสำหรับ bash ฉันกำลังทำสิ่งต่อไปนี้ แต่แน่ใจว่าต้องมีฟังก์ชั่นไลบรารีสำหรับสิ่งนี้หรืออย่างน้อยก็เป็นตัวเลือกที่หรูหรา / แข็งแกร่ง / มีประสิทธิภาพมากขึ้น: def sh_escape(s): return s.replace("(","\\(").replace(")","\\)").replace(" ","\\ ") os.system("cat %s | grep something | sort > %s" % (sh_escape(in_filename), sh_escape(out_filename))) แก้ไข:ฉันยอมรับคำตอบง่ายๆของการใช้เครื่องหมายคำพูดไม่รู้ว่าทำไมฉันถึงไม่คิดอย่างนั้น ฉันเดาว่าเป็นเพราะฉันมาจาก Windows โดยที่ "และ" ทำงานแตกต่างกันเล็กน้อย เกี่ยวกับความปลอดภัยฉันเข้าใจข้อกังวล แต่ในกรณีนี้ฉันสนใจวิธีแก้ปัญหาที่ง่ายและรวดเร็วซึ่ง os.system () มีให้และแหล่งที่มาของสตริงนั้นไม่ได้สร้างโดยผู้ใช้หรืออย่างน้อยก็ป้อนโดย a ผู้ใช้ที่เชื่อถือได้ (ฉัน)
124 python  shell  escaping 

10
BeautifulSoup คว้าข้อความหน้าเว็บที่มองเห็นได้
โดยพื้นฐานแล้วฉันต้องการใช้ BeautifulSoup เพื่อจับข้อความที่มองเห็นได้บนหน้าเว็บอย่างเคร่งครัด ตัวอย่างเช่นหน้าเว็บนี้เป็นกรณีทดสอบของฉัน และส่วนใหญ่ฉันต้องการรับข้อความเนื้อหา (บทความ) และอาจจะเป็นชื่อแท็บสองสามชื่อที่นี่และที่นั่น ฉันได้ลองใช้คำแนะนำในคำถาม SOนี้ซึ่งส่งคืน<script>แท็กและความคิดเห็น html จำนวนมากซึ่งฉันไม่ต้องการ ฉันไม่สามารถหาข้อโต้แย้งที่ต้องการสำหรับฟังก์ชันนี้findAll()เพื่อให้ได้ข้อความที่มองเห็นได้บนหน้าเว็บ ดังนั้นฉันจะค้นหาข้อความที่มองเห็นได้ทั้งหมดยกเว้นสคริปต์ความคิดเห็น css และอื่น ๆ ได้อย่างไร

5
Python - write () เทียบกับ wrelines () และสตริงที่ต่อกัน
ฉันกำลังเรียนภาษา Python ฉันกำลังเรียนรู้บทเรียนและพบกับปัญหาที่ฉันต้องรวมสิ่งดีๆมากมายtarget.write()ให้เป็นหนึ่งเดียวwrite()ในขณะที่มี"\n"ตัวแปรอินพุตระหว่างผู้ใช้แต่ละตัว (วัตถุของwrite()) ฉันมากับ: nl = "\n" lines = line1, nl, line2, nl, line3, nl textdoc.writelines(lines) ถ้าฉันพยายามทำ: textdoc.write(lines) ฉันได้รับข้อผิดพลาด แต่ถ้าฉันพิมพ์: textdoc.write(line1 + "\n" + line2 + ....) จากนั้นก็ใช้งานได้ดี ทำไมฉันไม่สามารถใช้สตริงสำหรับการขึ้นบรรทัดใหม่ในwrite()แต่ฉันสามารถใช้งานได้ในwritelines()? Python 2.7 เมื่อฉันค้นหาแหล่งข้อมูลส่วนใหญ่ของ Google ที่ฉันพบนั้นเป็นวิธีที่เหนือหัวของฉันฉันยังคงเป็นคนธรรมดา

2
อะไรคือความแตกต่างระหว่าง Conda และ Anaconda?
อัปเดตหลังคำถาม: ดูข้อมูลเบื้องต้นเกี่ยวกับ Condaสำหรับรายละเอียดเพิ่มเติม ปัญหา: ฉันติดตั้งAnacondaครั้งแรกในอูบุนตูของฉัน~/anacondaเมื่อฉันพยายามอัปเดตอนาคอนดาของฉันตามเอกสารจาก Continuum Analytics ฉันควรใช้คำสั่งต่อไปนี้: conda update conda conda update anaconda จากนั้นผมก็รู้ว่าผมไม่ได้มีCONDAติดตั้งเพื่อให้ผมติดตั้งโดยใช้เอกสารจากที่นี่ หลังจากติดตั้งcondaแล้วเมื่อฉันรันconda update anacondaฉันได้รับข้อผิดพลาดต่อไปนี้: ข้อผิดพลาด: ไม่ได้ติดตั้งแพ็คเกจ 'anaconda' ใน / home / xiang / miniconda ดูเหมือนว่าคอนด้าจะสมมติว่าอนาคอนด้าของฉันติดตั้งอยู่/home/xiang/minicondaซึ่งไม่เป็นความจริง คำถาม: อะไรคือความแตกต่างระหว่างCondaและAnaconda ? ฉันจะบอกconda ได้อย่างไรว่าอนาคอนด้าของฉันติดตั้งอยู่ที่ไหน
124 python  anaconda  conda 

8
เหตุใดเราจึงใช้ __init__ ในคลาส Python
ฉันมีปัญหาในการทำความเข้าใจเกี่ยวกับการเริ่มต้นคลาส ประเด็นของพวกเขาคืออะไรและเราจะรู้ได้อย่างไรว่าจะรวมอะไรไว้ในนั้น? การเขียนในชั้นเรียนจำเป็นต้องใช้ความคิดประเภทอื่นหรือไม่เมื่อเทียบกับการสร้างฟังก์ชัน (ฉันคิดว่าฉันสามารถสร้างฟังก์ชันได้จากนั้นก็ห่อไว้ในชั้นเรียนเพื่อที่ฉันจะได้ใช้ซ้ำได้จะได้ผลหรือไม่) นี่คือตัวอย่าง: class crawler: # Initialize the crawler with the name of database def __init__(self,dbname): self.con=sqlite.connect(dbname) def __del__(self): self.con.close() def dbcommit(self): self.con.commit() หรือตัวอย่างโค้ดอื่น: class bicluster: def __init__(self,vec,left=None,right=None,distance=0.0,id=None): self.left=left self.right=right self.vec=vec self.id=id self.distance=distance มีคลาสมากมายที่__init__ฉันเจอเมื่อพยายามอ่านรหัสของคนอื่น แต่ฉันไม่เข้าใจตรรกะในการสร้าง
124 python  class 

9
ตัวชี้ใน Python?
ฉันรู้ว่า Python ไม่มีพอยน์เตอร์ แต่มีวิธีให้ผลตอบแทนนี้2แทนได้ไหม >>> a = 1 >>> b = a # modify this line somehow so that b "points to" a >>> a = 2 >>> b 1 ? นี่คือตัวอย่าง: ฉันต้องการform.data['field']และform.field.valueมีค่าเท่ากันเสมอ มันไม่จำเป็นอย่างสมบูรณ์ แต่ฉันคิดว่ามันคงจะดี ตัวอย่างเช่นใน PHP ฉันสามารถทำได้: <?php class Form { public $data = []; public $fields; function __construct($fields) …
124 python  pointers 


12
การพิมพ์โดยไม่ขึ้นบรรทัดใหม่ (พิมพ์ 'a',) พิมพ์ช่องว่างวิธีการลบ?
ฉันมีรหัสนี้: >>> for i in xrange(20): ... print 'a', ... a a a a a a a a a a a a a a a a a a a a ฉันต้องการส่งออก'a'โดยไม่มี' 'สิ่งนี้: aaaaaaaaaaaaaaaaaaaa เป็นไปได้ไหม?

6
การประเมินฟังก์ชันอย่างมีประสิทธิภาพในทุกเซลล์ของอาร์เรย์ NumPy
ด้วยอาร์เรย์NumPy A วิธีใดที่เร็ว / มีประสิทธิภาพที่สุดในการใช้ฟังก์ชันเดียวกันfกับทุกเซลล์ สมมติว่าเราจะกำหนดให้A (ฉัน j) f (A (ฉัน j)) ฟังก์ชันfไม่มีเอาต์พุตไบนารีดังนั้นการดำเนินการมาสก์ (ing) จะไม่ช่วย การวนซ้ำสองรอบที่ "ชัดเจน" (ผ่านทุกเซลล์) เป็นทางออกที่ดีที่สุดหรือไม่?

13
คุณสามารถเพิ่มคำสั่งใหม่ให้กับไวยากรณ์ของ Python ได้หรือไม่?
คุณสามารถเพิ่มงบใหม่ (เช่นprint, raise, with) ไวยากรณ์งูใหญ่? บอกว่ายอม .. mystatement "Something" หรือ, new_if True: print "example" ไม่มากถ้าคุณควรแต่ถ้าเป็นไปได้ (ย่อมาจากการแก้ไขโค้ดล่าม python)

6
python สองเวอร์ชันบน linux วิธีทำให้ 2.7 เป็นค่าเริ่มต้น
ฉันมี python สองเวอร์ชันใน linuxbox ของฉัน: $python Python 2.6.6 (r266:84292, Jul 10 2013, 22:48:45) [GCC 4.4.7 20120313 (Red Hat 4.4.7-3)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> $ /usr/local/bin/python2.7 Python 2.7.3 (default, Oct 8 2013, 15:53:09) [GCC 4.4.7 20120313 (Red Hat 4.4.7-3)] on linux2 Type "help", …
124 python  linux  centos 

2
วิธีที่ถูกต้องในการเริ่มต้น OrderDict โดยใช้ตัวสร้างเพื่อที่จะรักษาลำดับของข้อมูลเริ่มต้น?
อะไรคือวิธีที่ถูกต้องในการเริ่มต้นพจนานุกรมแบบเรียงลำดับ (OD) เพื่อที่จะรักษาลำดับของข้อมูลเริ่มต้น from collections import OrderedDict # Obviously wrong because regular dict loses order d = OrderedDict({'b':2, 'a':1}) # An OD is represented by a list of tuples, so would this work? d = OrderedDict([('b',2), ('a', 1)]) # What about using a list comprehension, will 'd' preserve the order …

10
ฉันจะใช้บริการเว็บ WSDL (SOAP) ใน Python ได้อย่างไร
ฉันต้องการใช้บริการเว็บที่ใช้ WSDL SOAP ใน Python ฉันได้ดูโค้ดDive Into Python แล้วแต่โมดูล SOAPpy ไม่ทำงานภายใต้ Python 2.5 ฉันได้ลองใช้sudsซึ่งใช้งานได้บางส่วน แต่แตกกับบางประเภท (suds.TypeNotFound: Type not found: 'item') ฉันได้ดูClient แล้วแต่ดูเหมือนว่าจะไม่รองรับ WSDL และฉันได้ดูZSIแต่มันดูซับซ้อนมาก ใครมีโค้ดตัวอย่างไหม WSDL คือhttps://ws.pingdom.com/soap/PingdomAPI.wsdlและทำงานได้ดีกับไคลเอนต์ SOAP PHP 5

6
วิธีที่ดีที่สุดในการรักษาอาร์เรย์จำนวนนับบนดิสก์
ฉันกำลังมองหาวิธีที่รวดเร็วในการรักษาอาร์เรย์จำนวนมาก ฉันต้องการบันทึกลงในดิสก์ในรูปแบบไบนารีจากนั้นอ่านกลับเข้าไปในหน่วยความจำค่อนข้างเร็ว cPickle ไม่เร็วพอน่าเสียดาย ผมพบว่าnumpy.savezและnumpy.load แต่สิ่งที่แปลกคือ numpy.load โหลดไฟล์ npy ลงใน "memory-map" นั่นหมายความว่าการจัดการอาร์เรย์ปกติจะช้ามาก ตัวอย่างเช่นสิ่งนี้จะช้ามาก: #!/usr/bin/python import numpy as np; import time; from tempfile import TemporaryFile n = 10000000; a = np.arange(n) b = np.arange(n) * 10 c = np.arange(n) * -0.5 file = TemporaryFile() np.savez(file,a = a, b = b, c …

17
Python: การเปลี่ยนค่าในทูเปิล
ฉันยังใหม่กับ python ดังนั้นคำถามนี้อาจจะเป็นพื้นฐานเล็กน้อย ฉันเรียกทูเพิลvaluesซึ่งมีสิ่งต่อไปนี้: ('275', '54000', '0.0', '5000.0', '0.0') ฉันต้องการเปลี่ยนค่าแรก (กล่าวคือ275) ในทูเปิลนี้ แต่ฉันเข้าใจว่าสิ่งที่ไม่เปลี่ยนรูปจึงvalues[0] = 200ไม่ได้ผล ฉันจะบรรลุเป้าหมายนี้ได้อย่างไร?
124 python  tuples 

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