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

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

4
ความแตกต่างระหว่าง Variable และ get_variable ใน TensorFlow
เท่าที่ฉันทราบVariableเป็นการดำเนินการเริ่มต้นสำหรับการสร้างตัวแปรและget_variableส่วนใหญ่จะใช้สำหรับการแบ่งน้ำหนัก ในแง่หนึ่งมีบางคนแนะนำให้ใช้get_variableแทนการVariableดำเนินการดั้งเดิมเมื่อใดก็ตามที่คุณต้องการตัวแปร ในทางกลับกันฉันเห็นการใช้งานget_variableในเอกสารและการสาธิตอย่างเป็นทางการของ TensorFlow ดังนั้นฉันต้องการทราบกฎง่ายๆในการใช้กลไกทั้งสองนี้อย่างถูกต้อง มีหลักการ "มาตรฐาน" หรือไม่?
125 python  tensorflow 

11
วิธีกำจัดเครื่องหมายวรรคตอนโดยใช้โทเค็น NLTK
ฉันเพิ่งเริ่มใช้ NLTK และไม่ค่อยเข้าใจวิธีรับรายการคำจากข้อความ ถ้าฉันใช้nltk.word_tokenize()ฉันจะได้รับรายการคำและเครื่องหมายวรรคตอน ฉันต้องการเพียงคำพูดแทน ฉันจะกำจัดเครื่องหมายวรรคตอนได้อย่างไร ยังใช้word_tokenizeไม่ได้กับหลายประโยค: จุดจะถูกเพิ่มเข้าไปในคำสุดท้าย
125 python  nlp  tokenize  nltk 

16
จะแปลงสตริง xml เป็นพจนานุกรมได้อย่างไร?
ฉันมีโปรแกรมที่อ่านเอกสาร xml จากซ็อกเก็ต ฉันมีเอกสาร xml ที่เก็บไว้ในสตริงซึ่งฉันต้องการแปลงโดยตรงเป็นพจนานุกรม Python แบบเดียวกับที่ทำในsimplejsonไลบรารีของ Django เป็นตัวอย่าง: str ="<?xml version="1.0" ?><person><name>john</name><age>20</age></person" dic_xml = convert_to_dic(str) แล้วdic_xmlจะมีลักษณะอย่างไร{'person' : { 'name' : 'john', 'age' : 20 } }

11
ImportError: ไม่มีโมดูลชื่อ MySQLdb
ฉันอ้างถึงบทช่วยสอนต่อไปนี้เพื่อสร้างหน้าเข้าสู่ระบบสำหรับเว็บแอปพลิเคชันของฉัน http://code.tutsplus.com/tutorials/intro-to-flask-signing-in-and-out--net-29982 ฉันมีปัญหากับฐานข้อมูล ฉันได้รับไฟล์ ImportError: No module named MySQLdb เมื่อฉันดำเนินการ http://127.0.0.1:5000/testdb ฉันได้ลองวิธีที่เป็นไปได้ทั้งหมดในการติดตั้ง python mysql วิธีที่กล่าวถึงในบทช่วยสอน easy_install, sudo apt-get install ฉันได้ติดตั้ง mysql ใน env เสมือนของฉันแล้ว โครงสร้างไดเร็กทอรีของฉันเหมือนกับสิ่งที่อธิบายไว้ในบทช่วยสอน โมดูลได้รับการติดตั้งสำเร็จในระบบของฉันและฉันยังคงได้รับข้อผิดพลาดนี้ กรุณาช่วย. สิ่งที่อาจทำให้เกิดสิ่งนี้

5
วิธีทำให้ firefox headless โดยใช้โปรแกรมใน Selenium ด้วย python
ฉันใช้รหัสนี้กับ python, ซีลีเนียมและ firefox แต่ยังคงได้รับ Firefox เวอร์ชัน 'head': binary = FirefoxBinary('C:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe', log_file=sys.stdout) binary.add_command_line_options('-headless') self.driver = webdriver.Firefox(firefox_binary=binary) ฉันลองใช้ไบนารีรูปแบบต่างๆด้วย: binary = FirefoxBinary('C:\\Program Files\\Nightly\\firefox.exe', log_file=sys.stdout) binary.add_command_line_options("--headless")

11
การใส่คำสั่ง if-elif-else ในบรรทัดเดียว?
ฉันได้อ่านลิงก์ด้านล่าง แต่ไม่สามารถตอบคำถามของฉันได้ Python มีตัวดำเนินการที่มีเงื่อนไขแบบ ternary หรือไม่ (คำถามเกี่ยวกับการควบแน่นคำสั่ง if-else เป็นบรรทัดเดียว) มีวิธีที่ง่ายกว่าในการเขียนคำสั่ง if-elif-else เพื่อให้พอดีกับบรรทัดเดียวหรือไม่? ตัวอย่างเช่น, if expression1: statement1 elif expression2: statement2 else: statement3 หรือตัวอย่างในโลกแห่งความเป็นจริง: if i > 100: x = 2 elif i < 100: x = 1 else: x = 0 ฉันแค่รู้สึกว่าถ้าตัวอย่างข้างต้นสามารถเขียนได้ด้วยวิธีต่อไปนี้มันจะดูกระชับมากขึ้น x=2 if i>100 elif i<100 1 else 0 [WRONG]

4
python ร้องขอการอัปโหลดไฟล์
ฉันทำงานง่ายๆในการอัปโหลดไฟล์โดยใช้ไลบรารีคำขอของ Python ฉันค้นหา Stack Overflow และดูเหมือนจะไม่มีใครมีปัญหาเดียวกันนั่นคือเซิร์ฟเวอร์ไม่ได้รับไฟล์: import requests url='http://nesssi.cacr.caltech.edu/cgi-bin/getmulticonedb_release2.cgi/post' files={'files': open('file.txt','rb')} values={'upload_file' : 'file.txt' , 'DB':'photcat' , 'OUT':'csv' , 'SHORT':'short'} r=requests.post(url,files=files,data=values) ฉันกรอกค่าของคีย์เวิร์ด 'upload_file' ด้วยชื่อไฟล์ของฉันเพราะถ้าฉันปล่อยว่างไว้มันจะขึ้นว่า Error - You must select a file to upload! และตอนนี้ฉันได้รับ File file.txt of size bytes is uploaded successfully! Query service results: There were 0 lines. ซึ่งจะปรากฏขึ้นเมื่อไฟล์ว่างเปล่าเท่านั้น …

7
ฉันจะเปิดหน้าต่าง matplotlib แบบโต้ตอบในโน้ตบุ๊ก IPython ได้อย่างไร
ฉันใช้ IPython ด้วย--pylab=inlineและบางครั้งก็อยากจะเปลี่ยนไปใช้ matplotlib GUI แบบโต้ตอบที่ซูมได้เพื่อการดูพล็อต (อันที่ปรากฏขึ้นเมื่อคุณพล็อตบางอย่างในคอนโซล Python ของเทอร์มินัล) ฉันจะทำอย่างนั้นได้อย่างไร? โดยไม่ควรออกหรือรีสตาร์ทโน้ตบุ๊ก ปัญหาเกี่ยวกับอินไลน์พล็อตในโน้ตบุ๊ก IPy คือมีความละเอียด จำกัด และฉันไม่สามารถซูมเข้าไปเพื่อดูส่วนเล็ก ๆ บางส่วนได้ ด้วย maptlotlib GUI ที่เริ่มต้นจากเทอร์มินัลฉันสามารถเลือกสี่เหลี่ยมผืนผ้าของกราฟที่ฉันต้องการขยายและแกนจะปรับตามนั้น ฉันลองทดลองกับ from matplotlib import interactive interactive(True) และ interactive(False) แต่นั่นไม่ได้ทำอะไรเลย ฉันไม่พบคำแนะนำใด ๆ ทางออนไลน์เช่นกัน

2
Python Mocking ฟังก์ชันจากโมดูลที่นำเข้า
ฉันต้องการเข้าใจวิธี@patchการทำงานจากโมดูลที่นำเข้า นี่คือที่ที่ฉันมาไกลมาก app / mocking.py: from app.my_module import get_user_name def test_method(): return get_user_name() if __name__ == "__main__": print "Starting Program..." test_method() app / my_module / __ init__.py: def get_user_name(): return "Unmocked User" การทดสอบ / mock-test.py: import unittest from app.mocking import test_method def mock_get_user(): return "Mocked This Silly" @patch('app.my_module.get_user_name') class MockingTestTestCase(unittest.TestCase): …

7
ปิดใช้งานเมธอดใน ViewSet, django-rest-framework
ViewSets มีวิธีการอัตโนมัติในการแสดงรายการเรียกค้นสร้างอัปเดตลบ ... ฉันต้องการปิดการใช้งานบางส่วนและวิธีแก้ปัญหาที่ฉันคิดขึ้นมานั้นอาจไม่ใช่วิธีที่ดีนักเนื่องจากOPTIONSยังคงระบุว่าได้รับอนุญาต มีความคิดเกี่ยวกับวิธีการทำอย่างไรให้ถูกต้อง? class SampleViewSet(viewsets.ModelViewSet): queryset = api_models.Sample.objects.all() serializer_class = api_serializers.SampleSerializer def list(self, request): return Response(status=status.HTTP_405_METHOD_NOT_ALLOWED) def create(self, request): return Response(status=status.HTTP_405_METHOD_NOT_ALLOWED)

2
คำอธิบายประกอบประเภทการส่งคืน Python เป็นโมฆะ
ใน python 3.x เป็นเรื่องปกติที่จะใช้คำอธิบายประกอบชนิด return ของฟังก์ชันเช่น: def foo() -> str: return "bar" คำอธิบายประกอบที่ถูกต้องสำหรับประเภท "โมฆะ" คืออะไร? ฉันกำลังพิจารณา 3 ตัวเลือก: def foo() -> None: ไม่ใช่ IMO เชิงตรรกะเพราะNoneไม่ใช่ประเภท def foo() -> type(None): โดยใช้ไวยากรณ์ที่ดีที่สุดที่ฉันรู้จักเพื่อให้ได้NoneTypeมา def foo(): ละเว้นข้อมูลประเภทการส่งคืนที่ชัดเจน ตัวเลือกที่ 2 ดูเหมือนจะสมเหตุสมผลที่สุดสำหรับฉัน แต่ฉันได้เห็นบางกรณีของ 1 แล้ว

9
ฉันจะส่งข้อมูลจาก Flask ไปยัง JavaScript ในเทมเพลตได้อย่างไร
แอปของฉันโทรไปยัง API ที่ส่งคืนพจนานุกรม ฉันต้องการส่งข้อมูลจากคำสั่งนี้ไปยัง JavaScript ในมุมมอง ฉันใช้ Google Maps API ใน JS โดยเฉพาะดังนั้นฉันจึงต้องการส่งรายการสิ่งต่อไปนี้ที่มีข้อมูล long / lat ฉันรู้ว่าrender_templateจะส่งตัวแปรเหล่านี้ไปยังมุมมองเพื่อให้สามารถใช้ใน HTML ได้ แต่ฉันจะส่งต่อไปยัง JavaScript ในเทมเพลตได้อย่างไร from flask import Flask from flask import render_template app = Flask(__name__) import foo_api api = foo_api.API('API KEY') @app.route('/') def get_data(): events = api.call(get_event, arg0, arg1) geocode = event['latitude'], …

3
Python Dictionary เป็นพารามิเตอร์ URL
ฉันกำลังพยายามแปลงพจนานุกรม Python เป็นสตริงเพื่อใช้เป็นพารามิเตอร์ URL ฉันแน่ใจว่ามีวิธีที่ดีกว่าPythonicมากกว่านี้ในการทำเช่นนี้ มันคืออะไร? x = "" for key, val in {'a':'A', 'b':'B'}.items(): x += "%s=%s&" %(key,val) x = x[:-1]

8
มีเหตุผลใดที่จะไม่ใช้ '+' เพื่อเชื่อมสองสตริงเข้าด้วยกัน?
antipattern ทั่วไปใน Python คือการต่อลำดับของสตริงโดยใช้+ในลูป สิ่งนี้ไม่ดีเนื่องจากล่าม Python ต้องสร้างออบเจ็กต์สตริงใหม่สำหรับการวนซ้ำแต่ละครั้งและจะใช้เวลากำลังสอง (เห็นได้ชัดว่า CPython เวอร์ชันล่าสุดสามารถปรับให้เหมาะสมได้ในบางกรณี แต่การใช้งานอื่น ๆ ไม่สามารถทำได้ดังนั้นโปรแกรมเมอร์จึงไม่สามารถพึ่งพาสิ่งนี้ได้) ''.joinเป็นวิธีที่ถูกต้องในการดำเนินการนี้ อย่างไรก็ตามฉันเคยได้ยินมาว่า ( รวมถึงที่นี่ใน Stack Overflow ) ว่าคุณไม่ควรใช้+สำหรับการต่อสายอักขระ แต่ควรใช้''.joinหรือใช้สตริงรูปแบบแทน ฉันไม่เข้าใจว่าเหตุใดจึงเป็นเช่นนี้หากคุณเชื่อมต่อเพียงสองสตริง ถ้าความเข้าใจของฉันถูกต้องก็ไม่ควรใช้เวลาในการกำลังสองและผมคิดว่าa + bเป็นที่สะอาดและอ่านได้มากขึ้นกว่าหรือ''.join((a, b))'%s%s' % (a, b) เป็นแนวทางปฏิบัติที่ดีที่จะใช้+เพื่อเชื่อมสองสตริงเข้าด้วยกันหรือไม่? หรือมีปัญหาที่ฉันไม่ทราบ?

4
วัตถุหน่วยความจำที่ใช้ร่วมกันในการประมวลผลหลายขั้นตอน
สมมติว่าฉันมีอาร์เรย์จำนวนมากในหน่วยความจำฉันมีฟังก์ชันfuncที่รับอาร์เรย์ยักษ์นี้เป็นอินพุต (พร้อมกับพารามิเตอร์อื่น ๆ ) funcด้วยพารามิเตอร์ที่แตกต่างกันสามารถทำงานแบบขนานได้ ตัวอย่างเช่น: def func(arr, param): # do stuff to arr, param # build array arr pool = Pool(processes = 6) results = [pool.apply_async(func, [arr, param]) for param in all_params] output = [res.get() for res in results] ถ้าฉันใช้ไลบรารีการประมวลผลหลายขั้นตอนอาร์เรย์ขนาดยักษ์นั้นจะถูกคัดลอกหลายครั้งในกระบวนการต่างๆ มีวิธีที่จะให้กระบวนการต่างๆใช้อาร์เรย์เดียวกันได้หรือไม่? วัตถุอาร์เรย์นี้เป็นแบบอ่านอย่างเดียวและจะไม่มีการแก้ไข จะมีอะไรซับซ้อนไปกว่านั้นถ้า arr ไม่ใช่อาร์เรย์ แต่เป็นวัตถุ python โดยพลการมีวิธีแบ่งปันหรือไม่? [แก้ไข] …

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