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

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

10
ฉันจะรันโปรแกรมจาก Python ได้อย่างไร os.system ล้มเหลวเนื่องจากช่องว่างในเส้นทาง
ฉันมีสคริปต์ Python ที่ต้องใช้งานโปรแกรมภายนอก แต่ด้วยเหตุผลบางอย่างล้มเหลว หากฉันมีสคริปต์ต่อไปนี้: import os; os.system("C:\\Temp\\a b c\\Notepad.exe"); raw_input(); จากนั้นจะล้มเหลวด้วยข้อผิดพลาดต่อไปนี้: 'C: \ Temp \ a' ไม่รู้จักว่าเป็นคำสั่งภายในหรือภายนอกโปรแกรมที่ทำงานได้หรือไฟล์แบตช์ ถ้าฉันหนีโปรแกรมด้วยเครื่องหมายคำพูด: import os; os.system('"C:\\Temp\\a b c\\Notepad.exe"'); raw_input(); จากนั้นก็ใช้งานได้ อย่างไรก็ตามหากฉันเพิ่มพารามิเตอร์มันจะหยุดทำงานอีกครั้ง: import os; os.system('"C:\\Temp\\a b c\\Notepad.exe" "C:\\test.txt"'); raw_input(); วิธีที่ถูกต้องในการรันโปรแกรมและรอให้โปรแกรมทำงานเสร็จสมบูรณ์คืออะไร? ฉันไม่จำเป็นต้องอ่านผลลัพธ์จากมันเพราะมันเป็นโปรแกรมภาพที่ทำงานแล้วก็ออกไป แต่ฉันต้องรอให้เสร็จ โปรดทราบว่าการย้ายโปรแกรมไปยังเส้นทางที่ไม่มีระยะห่างไม่ใช่ตัวเลือกเช่นกัน สิ่งนี้ไม่ทำงาน: import os; os.system("'C:\\Temp\\a b c\\Notepad.exe'"); raw_input(); หมายเหตุการสลับคำพูดเดี่ยว / คู่ มีหรือไม่มีพารามิเตอร์เพื่อ Notepad …

6
ทำไมไม่มีฟังก์ชั่น xrange ใน Python3
เมื่อเร็ว ๆ นี้ฉันเริ่มใช้ Python3 และมันก็ไม่มีความเจ็บปวด xrange ตัวอย่างง่ายๆ: 1) Python2: from time import time as t def count(): st = t() [x for x in xrange(10000000) if x%4 == 0] et = t() print et-st count() 2) Python3: from time import time as t def xrange(x): return iter(range(x)) def count(): st …
273 python  python-3.x  pep  xrange 

13
การค้นหาและแทนที่องค์ประกอบในรายการ
ฉันต้องค้นหารายการและแทนที่องค์ประกอบทั้งหมดด้วยรายการอื่น จนถึงตอนนี้ความพยายามในการใช้รหัสทำให้ฉันไปถึงที่นั่นวิธีที่ดีที่สุดในการทำเช่นนี้คืออะไร? ตัวอย่างเช่นสมมติว่ารายการของฉันมีจำนวนเต็มต่อไปนี้ >>> a = [1,2,3,4,5,1,2,3,4,5,1] และฉันต้องการแทนที่การเกิดขึ้นทั้งหมดของหมายเลข 1 ด้วยค่า 10 ดังนั้นผลลัพธ์ที่ฉันต้องการคือ >>> a = [10, 2, 3, 4, 5, 10, 2, 3, 4, 5, 10] ดังนั้นเป้าหมายของฉันคือการแทนที่อินสแตนซ์ทั้งหมดของหมายเลข 1 ด้วยหมายเลข 10
273 python  list  replace 


14
ข้อผิดพลาดเสียงดังกราว: อาร์กิวเมนต์ที่ไม่รู้จัก: '-mno-fused-madd' (การติดตั้งแพ็กเกจหลามล้มเหลว)
ฉันได้รับข้อผิดพลาดต่อไปนี้เมื่อพยายามติดตั้งpsycopg2ผ่าน pip บน Mavericks 10.9: clang: error: unknown argument: '-mno-fused-madd' [-Wunused-command-line-argument-hard-error-in-future] ไม่แน่ใจว่าจะดำเนินการอย่างไรและค้นหาที่นี่และที่อื่น ๆ เพื่อหาข้อผิดพลาดนี้โดยเฉพาะ ความช่วยเหลือใด ๆ ที่ชื่นชมมาก! นี่คือผลลัพธ์ที่สมบูรณ์จาก pip: $ pip install psycopg2 Downloading/unpacking psycopg2 Downloading psycopg2-2.5.2.tar.gz (685kB): 685kB downloaded Running setup.py (path:/private/var/folders/0z/ljjwsjmn4v9_zwm81vhxj69m0000gn/T/pip_build_tino/psycopg2/setup.py) egg_info for package psycopg2 Installing collected packages: psycopg2 Running setup.py install for psycopg2 building 'psycopg2._psycopg' extension cc …

13
Django auto_now และ auto_now_add
สำหรับ Django 1.1 ฉันมีสิ่งนี้ใน models.py ของฉัน: class User(models.Model): created = models.DateTimeField(auto_now_add=True) modified = models.DateTimeField(auto_now=True) เมื่อทำการอัพเดตแถวฉันจะได้รับ: [Sun Nov 15 02:18:12 2009] [error] /home/ptarjan/projects/twitter-meme/django/db/backends/mysql/base.py:84: Warning: Column 'created' cannot be null [Sun Nov 15 02:18:12 2009] [error] return self.cursor.execute(query, args) ส่วนที่เกี่ยวข้องของฐานข้อมูลของฉันคือ: `created` datetime NOT NULL, `modified` datetime NOT NULL, นี่เป็นสาเหตุของความกังวลหรือไม่? คำถามด้าน: ในเครื่องมือผู้ดูแลระบบของฉันทั้งสองฟิลด์จะไม่ปรากฏขึ้น คาดหวังหรือไม่?

30
Python: แยกรายการตามเงื่อนไขหรือไม่
อะไรคือวิธีที่ดีที่สุดทั้งในเชิงสุนทรียศาสตร์และจากมุมมองของประสิทธิภาพในการแบ่งรายการออกเป็นหลายรายการตามเงื่อนไข เทียบเท่ากับ: good = [x for x in mylist if x in goodvals] bad = [x for x in mylist if x not in goodvals] มีวิธีที่สง่างามกว่านี้อีกไหม? อัปเดต: นี่คือกรณีการใช้งานจริงเพื่ออธิบายสิ่งที่ฉันพยายามทำดีกว่า: # files looks like: [ ('file1.jpg', 33L, '.jpg'), ('file2.avi', 999L, '.avi'), ... ] IMAGE_TYPES = ('.jpg','.jpeg','.gif','.bmp','.png') images = [f for f in …
272 python 


6
Python ฟังก์ชั่นตัวแปรทั่วโลก?
ฉันรู้ว่าฉันควรหลีกเลี่ยงการใช้ตัวแปรทั่วโลกตั้งแต่แรกเนื่องจากความสับสนเช่นนี้ แต่ถ้าฉันจะใช้มันเป็นวิธีที่ถูกต้องในการใช้พวกเขาหรือไม่? (ฉันกำลังพยายามเรียกใช้สำเนาทั่วโลกของตัวแปรที่สร้างขึ้นในฟังก์ชั่นแยกต่างหาก) x = "somevalue" def func_A (): global x # Do things to x return x def func_B(): x = func_A() # Do things return x func_A() func_B() ไม่xว่าการใช้งานฟังก์ชั่นที่สองมีค่าเดียวกันของสำเนาทั่วโลกของxที่func_aใช้และการปรับเปลี่ยน? เมื่อเรียกใช้ฟังก์ชั่นหลังจากนิยามคำสั่งนั้นสำคัญหรือไม่

10
การเป็นตัวแทนและการแก้เขาวงกตให้ภาพ
วิธีที่ดีที่สุดในการเป็นตัวแทนและแก้ไขเขาวงกตที่ได้รับภาพคืออะไร? เมื่อพิจารณาจากรูปภาพ JPEG (ดังที่แสดงไว้ด้านบน) วิธีที่ดีที่สุดในการอ่านข้อมูลคือแยกวิเคราะห์ข้อมูลลงในโครงสร้างข้อมูลบางส่วนและแก้ปัญหาเขาวงกต สัญชาตญาณแรกของฉันคือการอ่านภาพทีละพิกเซลและเก็บไว้ในรายการ (อาร์เรย์) ของค่าบูลีน: TrueสำหรับพิกเซลสีขาวและพิกเซลFalseที่ไม่ใช่สีขาว (สีสามารถละทิ้ง) ปัญหาด้วยวิธีนี้คือภาพอาจจะไม่ "สมบูรณ์แบบพิกเซล" โดยที่ฉันเพียงแค่หมายความว่าหากมีพิกเซลสีขาวบางแห่งบนผนังก็อาจสร้างเส้นทางที่ไม่ได้ตั้งใจ อีกวิธีหนึ่ง (ซึ่งมาหาฉันหลังจากคิดไปเล็กน้อย) ก็คือการแปลงภาพเป็นไฟล์ SVG ซึ่งเป็นรายการของเส้นทางที่วาดบนผืนผ้าใบ ด้วยวิธีนี้เส้นทางสามารถอ่านได้ในรายการประเภทเดียวกัน (ค่าบูลีน) ซึ่งTrueระบุเส้นทางหรือกำแพงเพื่อFalseระบุพื้นที่ที่สามารถเดินทางได้ ปัญหาด้วยวิธีนี้เกิดขึ้นหากการแปลงไม่ถูกต้อง 100% และไม่เชื่อมต่อกำแพงทั้งหมดอย่างเต็มที่ทำให้เกิดช่องว่าง นอกจากนี้ปัญหาเกี่ยวกับการแปลงเป็น SVG ก็คือเส้นไม่ตรง "สมบูรณ์แบบ" ซึ่งส่งผลในเส้นทางเป็นลูกบาศก์ bezier โค้ง ด้วยรายการ (อาร์เรย์) ของค่าบูลีนที่จัดทำดัชนีโดยจำนวนเต็มเส้นโค้งจะไม่ถ่ายโอนได้อย่างง่ายดายและทุกจุดที่เส้นบนเส้นโค้งจะต้องถูกคำนวณ แต่จะไม่ตรงกับดัชนีรายการทั้งหมด ฉันคิดว่าในขณะที่หนึ่งในวิธีการเหล่านี้อาจใช้งานได้ (แม้ว่าอาจจะไม่ใช่) ว่าพวกเขาไม่มีประสิทธิภาพมากนักเนื่องจากภาพขนาดใหญ่ดังกล่าวและมีวิธีที่ดีกว่า วิธีนี้ดีที่สุด (มีประสิทธิภาพมากที่สุดและ / หรือมีความซับซ้อนน้อยที่สุด) ทำอย่างไร มีวิธีที่ดีที่สุดหรือไม่? จากนั้นการแก้ปัญหาของเขาวงกตมา ถ้าฉันใช้วิธีใดวิธีหนึ่งจากสองวิธีแรกฉันจะต้องใช้เมทริกซ์เป็นหลัก ตามคำตอบนี้เป็นวิธีที่ดีที่จะเป็นตัวแทนเขาวงกตใช้ต้นไม้และเป็นวิธีที่ดีที่จะแก้ปัญหาได้คือการใช้A * อัลกอริทึม เราจะสร้างต้นไม้จากภาพได้อย่างไร …


5
ตัวแปร 'cls' ใช้สำหรับอะไรในคลาส Python
ทำไมclsบางครั้งใช้แทนselfอาร์กิวเมนต์ในคลาส Python ตัวอย่างเช่น: class Person: def __init__(self, firstname, lastname): self.firstname = firstname self.lastname = lastname @classmethod def from_fullname(cls, fullname): cls.firstname, cls.lastname = fullname.split(' ', 1)

8
TypeError: method () ใช้เวลา 1 อาร์กิวเมนต์ตำแหน่ง แต่ได้รับ 2
ถ้าฉันมีคลาส ... class MyClass: def method(arg): print(arg) ... ที่ฉันใช้ในการสร้างวัตถุ ... my_object = MyClass() ... ที่ฉันเรียกmethod("foo")เช่นนั้น ... >>> my_object.method("foo") Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: method() takes exactly 1 positional argument (2 given) ... ทำไมหลามถึงบอกว่าฉันให้สองข้อโต้แย้งเมื่อฉันให้เพียงอันเดียว?

25
Strip HTML จากสตริงใน Python
from mechanize import Browser br = Browser() br.open('http://somewebpage') html = br.response().readlines() for line in html: print line เมื่อพิมพ์บรรทัดในไฟล์ HTML ฉันพยายามค้นหาวิธีแสดงเนื้อหาของแต่ละองค์ประกอบ HTML เท่านั้นไม่ใช่การจัดรูปแบบเอง หากพบว่า'<a href="whatever.com">some text</a>'มันจะพิมพ์เพียง 'ข้อความ' '<b>hello</b>'พิมพ์ 'สวัสดี' ฯลฯ จะทำอย่างไรเกี่ยวกับการทำเช่นนี้?
269 python  html 

18
จะโหลดโมดูลทั้งหมดในโฟลเดอร์ได้อย่างไร?
ใครช่วยให้ฉันมีวิธีที่ดีในการนำเข้าไดเรกทอรีทั้งหมดของโมดูล? ฉันมีโครงสร้างเช่นนี้: /Foo bar.py spam.py eggs.py ฉันพยายามแปลงเป็นแพ็คเกจด้วยการเพิ่ม__init__.pyและทำfrom Foo import *แต่มันก็ไม่ทำงานอย่างที่ฉันหวังไว้

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