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

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

10
การลบโฟลเดอร์ในหลามแบบวนซ้ำ
ฉันมีปัญหาในการลบไดเรกทอรีว่าง นี่คือรหัสของฉัน: for dirpath, dirnames, filenames in os.walk(dir_to_search): //other codes try: os.rmdir(dirpath) except OSError as ex: print(ex) ข้อโต้แย้งdir_to_searchคือที่ที่ฉันผ่านไดเรกทอรีที่งานต้องทำ ไดเรกทอรีนั้นมีลักษณะดังนี้: test/20/... test/22/... test/25/... test/26/... โปรดทราบว่าโฟลเดอร์ด้านบนทั้งหมดว่างเปล่า เมื่อฉันเรียกใช้สคริปต์นี้โฟลเดอร์20, 25อยู่คนเดียวได้รับการลบ! แต่โฟลเดอร์25และ26ไม่ถูกลบแม้ว่าจะเป็นโฟลเดอร์เปล่า แก้ไข: ข้อยกเว้นที่ฉันได้รับคือ: [Errno 39] Directory not empty: '/home/python-user/shell-scripts/s3logs/test' [Errno 39] Directory not empty: '/home/python-user/shell-scripts/s3logs/test/2012' [Errno 39] Directory not empty: '/home/python-user/shell-scripts/s3logs/test/2012/10' [Errno 39] Directory …
202 python  directory 

4
วิธีการรับเส้นสีที่แตกต่างกันสำหรับแปลงที่แตกต่างกันในรูปเดียว?
ฉันใช้matplotlibเพื่อสร้างแปลง ฉันต้องระบุแต่ละพล็อตที่มีสีแตกต่างกันซึ่ง Python ควรสร้างขึ้นโดยอัตโนมัติ คุณช่วยให้วิธีการใส่สีที่แตกต่างกันสำหรับแปลงที่แตกต่างกันในรูปเดียวกันได้ไหม

8
อะไรคือสิ่งที่เทียบเท่ากับแพคเกจการติดตั้งแพคเกจ 'npm --save-dev`?
ใน nodejs ฉันสามารถทำได้npm install package --save-devเพื่อบันทึกแพ็คเกจที่ติดตั้งไว้ในแพ็คเกจ ฉันจะทำสิ่งเดียวกันใน Python package manager ได้pipอย่างไร ผมอยากจะบันทึกชื่อแพคเกจและรุ่นของมันเข้าไปพูดเพียงหลังจากติดตั้งแพคเกจใช้สิ่งที่ต้องการrequirements.pippip install package --save-dev requirements.pip
202 python  node.js  pip 

20
วิธีที่ดีที่สุดในการใช้พจนานุกรมที่ซ้อนกันคืออะไร
ฉันมีโครงสร้างข้อมูลที่มีความสำคัญต่อพจนานุกรมซ้อนกัน สมมติว่ามันมีลักษณะเช่นนี้: {'new jersey': {'mercer county': {'plumbers': 3, 'programmers': 81}, 'middlesex county': {'programmers': 81, 'salesmen': 62}}, 'new york': {'queens county': {'plumbers': 9, 'salesmen': 36}}} ตอนนี้การบำรุงรักษาและการสร้างสิ่งนี้ค่อนข้างเจ็บปวด ทุกครั้งที่ฉันมีรัฐ / เคาน์ตี / อาชีพใหม่ฉันต้องสร้างพจนานุกรมเลเยอร์ที่ต่ำกว่าผ่านบล็อกลอง / จับที่น่ารังเกียจ ยิ่งกว่านั้นฉันต้องสร้างตัววนซ้ำที่น่ารำคาญถ้าฉันต้องการข้ามค่าทั้งหมด ฉันยังสามารถใช้สิ่งอันดับเป็นกุญแจได้เช่น: {('new jersey', 'mercer county', 'plumbers'): 3, ('new jersey', 'mercer county', 'programmers'): 81, ('new jersey', 'middlesex county', …

9
วิธีที่เหมาะสมในการจัดการหลายรูปแบบในหน้าเดียวใน Django
ฉันมีหน้าเทมเพลตที่ต้องการรูปแบบสองแบบ ถ้าฉันใช้เพียงรูปแบบเดียวสิ่งต่าง ๆ ก็ดีเหมือนในตัวอย่างทั่วไปนี้: if request.method == 'POST': form = AuthorForm(request.POST,) if form.is_valid(): form.save() # do something. else: form = AuthorForm() ถ้าฉันต้องการทำงานกับหลาย ๆ รูปแบบฉันจะให้มุมมองรู้ได้อย่างไรว่าฉันส่งแบบฟอร์มเพียงแบบเดียวและไม่ใช่แบบอื่น ๆ (เช่นมันยังคงเป็นคำขอ POST แต่ฉันต้องการประมวลผลแบบฟอร์มที่ส่งเท่านั้น ที่เกิดขึ้น)? นี้เป็นวิธีการขึ้นอยู่กับคำตอบที่expectedphraseและbannedphraseเป็นชื่อส่งปุ่มสำหรับรูปแบบที่แตกต่างกันและexpectedphraseformและbannedphraseformจะรูปแบบ if request.method == 'POST': if 'bannedphrase' in request.POST: bannedphraseform = BannedPhraseForm(request.POST, prefix='banned') if bannedphraseform.is_valid(): bannedphraseform.save() expectedphraseform = ExpectedPhraseForm(prefix='expected') elif 'expectedphrase' …
201 python  django  forms 

17
ผู้ดูแลระบบ Django - เปลี่ยนข้อความ 'การบริหาร Django'
หนึ่งจะเปลี่ยนข้อความ 'การบริหาร Django' ในส่วนหัวของผู้ดูแลระบบ django ได้อย่างไร? ดูเหมือนจะไม่ครอบคลุมในเอกสาร "การปรับแต่งผู้ดูแลระบบ"

4
วิธีกำหนดรูปแบบเวลาสำหรับการบันทึก Python เอง
ฉันยังใหม่กับแพ็คเกจการบันทึกของ Python และวางแผนที่จะใช้สำหรับโครงการของฉัน ฉันต้องการปรับแต่งรูปแบบเวลาตามรสนิยมของฉัน นี่คือรหัสย่อที่ฉันคัดลอกมาจากบทช่วยสอน: import logging # create logger logger = logging.getLogger("logging_tryout2") logger.setLevel(logging.DEBUG) # create console handler and set level to debug ch = logging.StreamHandler() ch.setLevel(logging.DEBUG) # create formatter formatter = logging.Formatter("%(asctime)s;%(levelname)s;%(message)s") # add formatter to ch ch.setFormatter(formatter) # add ch to logger logger.addHandler(ch) # "application" code logger.debug("debug message") …

7
วิธีทำให้เส้นโค้งเรียบในวิธีที่ถูกต้อง?
สมมติว่าเรามีชุดข้อมูลที่อาจได้รับประมาณ import numpy as np x = np.linspace(0,2*np.pi,100) y = np.sin(x) + np.random.random(100) * 0.2 ดังนั้นเราจึงมีรูปแบบของชุดข้อมูล 20% ความคิดแรกของฉันคือการใช้ฟังก์ชัน UnivariateSpline ของ scipy แต่ปัญหาคือว่านี่ไม่ได้พิจารณาว่าเสียงเล็ก ๆ ในทางที่ดี หากคุณพิจารณาความถี่พื้นหลังมีขนาดเล็กกว่าสัญญาณดังนั้นเส้นโค้งเพียงจุดตัดอาจเป็นแนวคิด แต่จะเกี่ยวข้องกับการแปลงฟูเรียร์ไปมาซึ่งอาจทำให้เกิดพฤติกรรมที่ไม่ดี อีกวิธีหนึ่งก็คือค่าเฉลี่ยเคลื่อนที่ แต่ก็ต้องมีทางเลือกที่เหมาะสมของความล่าช้า คำแนะนำ / หนังสือหรือลิงก์วิธีแก้ไขปัญหานี้

21
ข้อผิดพลาดในการนำเข้า: ไม่มีโมดูลชื่อ numpy
ฉันมีคำถามที่คล้ายกันมากกับคำถามนี้แต่ก็ยังอยู่ในขั้นตอนเดียว ฉันมี Python 3 รุ่นเดียวเท่านั้นที่ติดตั้งบน Windows 7 ของฉัน ( ขออภัย ) ระบบ 64 บิต ฉันติดตั้ง numpy ตามลิงก์นี้- ตามที่แนะนำในคำถาม การติดตั้งทำงานได้ดี แต่เมื่อฉันดำเนินการ import numpy ฉันได้รับข้อผิดพลาดต่อไปนี้: ข้อผิดพลาดในการนำเข้า: ไม่มีโมดูลชื่อ numpy ฉันรู้ว่านี่อาจเป็นคำถามขั้นพื้นฐานสุด ๆ แต่ฉันยังคงเรียนรู้อยู่ ขอบคุณ

11
ลอง / ยกเว้นบล็อกในหลามเป็นแบบฝึกหัดการเขียนโปรแกรมที่ดีหรือไม่
ฉันกำลังเขียนคอนเทนเนอร์ของตัวเองซึ่งจำเป็นต้องให้สิทธิ์การเข้าถึงพจนานุกรมภายในด้วยการเรียกแอตทริบิวต์ การใช้งานทั่วไปของคอนเทนเนอร์จะเป็นเช่นนี้: dict_container = DictContainer() dict_container['foo'] = bar ... print dict_container.foo ฉันรู้ว่ามันอาจงี่เง่าที่จะเขียนบางอย่างเช่นนี้ แต่นั่นเป็นฟังก์ชั่นที่ฉันต้องการ ฉันคิดว่าจะใช้สิ่งนี้ด้วยวิธีต่อไปนี้: def __getattribute__(self, item): try: return object.__getattribute__(item) except AttributeError: try: return self.dict[item] except KeyError: print "The object doesn't have such attribute" ฉันไม่แน่ใจว่าการลอง / ยกเว้นบล็อกเป็นวิธีปฏิบัติที่ดีหรือไม่ดังนั้นจึงควรใช้อีกวิธีหนึ่งhasattr()และhas_key(): def __getattribute__(self, item): if hasattr(self, item): return object.__getattribute__(item) else: if self.dict.has_key(item): return self.dict[item] …
201 python 

4
วิธีเปิดไฟล์โดยใช้คำสั่ง open with
ฉันกำลังดูวิธีการอินพุตและเอาต์พุตไฟล์ใน Python ฉันได้เขียนโค้ดต่อไปนี้เพื่ออ่านรายการชื่อ (หนึ่งรายการต่อบรรทัด) จากไฟล์ไปยังไฟล์อื่นในขณะที่ตรวจสอบชื่อกับชื่อในไฟล์และต่อท้ายข้อความที่เกิดขึ้นในไฟล์ รหัสใช้งานได้ ทำได้ดีกว่านี้ไหม ฉันต้องการใช้with open(...คำสั่งสำหรับทั้งไฟล์อินพุตและเอาต์พุต แต่ไม่สามารถดูว่าพวกเขาสามารถอยู่ในความหมายบล็อกเดียวกันได้หรือไม่ฉันต้องการเก็บชื่อไว้ในตำแหน่งชั่วคราว def filter(txt, oldfile, newfile): '''\ Read a list of names from a file line by line into an output file. If a line begins with a particular name, insert a string of text after the name before appending the line …
201 python  file  python-3.x  file-io  io 

13
วิธีการเปลี่ยนชื่อคอลัมน์ข้อมูลใน pyspark?
ฉันมาจากพื้นหลังของ pandas และฉันคุ้นเคยกับการอ่านข้อมูลจากไฟล์ CSV เป็น dataframe แล้วก็เปลี่ยนชื่อคอลัมน์เป็นสิ่งที่มีประโยชน์โดยใช้คำสั่งง่าย ๆ : df.columns = new_column_name_list อย่างไรก็ตามเดียวกันไม่สามารถใช้งานได้ใน pyspark dataframes ที่สร้างขึ้นโดยใช้ sqlContext ทางออกเดียวที่ฉันสามารถคิดให้ทำได้ง่าย ๆ คือ: df = sqlContext.read.format("com.databricks.spark.csv").options(header='false', inferschema='true', delimiter='\t').load("data.txt") oldSchema = df.schema for i,k in enumerate(oldSchema.fields): k.name = new_column_name_list[i] df = sqlContext.read.format("com.databricks.spark.csv").options(header='false', delimiter='\t').load("data.txt", schema=oldSchema) นี่คือการกำหนดตัวแปรโดยทั่วไปสองครั้งและอนุมานสคีมาก่อนจากนั้นเปลี่ยนชื่อชื่อคอลัมน์แล้วโหลดดาต้าเฟรมอีกครั้งด้วยสคีมาที่อัปเดต มีวิธีที่ดีกว่าและมีประสิทธิภาพมากกว่าในการทำเช่นนี้ในแพนด้าหรือไม่? เวอร์ชั่น Spark ของฉันคือ 1.5.0

20
แบ่งสตริงสตริง (explode) pandas dataframe เป็นแถวแยก
ฉันมีpandas dataframeสตริงข้อความหนึ่งคอลัมน์ที่มีค่าที่คั่นด้วยเครื่องหมายจุลภาค ฉันต้องการแยกแต่ละฟิลด์ CSV และสร้างแถวใหม่ต่อรายการ (สมมติว่า CSV สะอาดและต้องการแบ่งเพียง ',') ตัวอย่างเช่นaควรเป็นb: In [7]: a Out[7]: var1 var2 0 a,b,c 1 1 d,e,f 2 In [8]: b Out[8]: var1 var2 0 a 1 1 b 1 2 c 1 3 d 2 4 e 2 5 f 2 จนถึงตอนนี้ฉันได้ลองใช้ฟังก์ชั่นง่าย ๆ หลายอย่าง แต่.applyวิธีการดูเหมือนจะยอมรับเพียงหนึ่งแถวเป็นค่าตอบแทนเมื่อมันถูกใช้กับแกนและฉันไม่สามารถ.transformทำงานได้ …

12
ฉันจะใช้แพ็คเกจที่ติดตั้งใน PyCharm ได้อย่างไร
ในPyCharm , /usr/bin/pythonฉันได้เพิ่มสภาพแวดล้อมหลาม อย่างไรก็ตาม from gnuradio import gr ล้มเหลวในฐานะที่เป็นการอ้างอิงที่ไม่ได้กำหนด อย่างไรก็ตามมันใช้งานได้ดีในตัวแปล Python จากบรรทัดคำสั่ง GNURadio ทำงานได้ดีกับ python นอก Pycharm ทุกอย่างถูกติดตั้งและกำหนดค่าตามที่ฉันต้องการ Gnuradio ตั้งอยู่ที่ /usr/local/lib/python2.7/site-packages/gnuradio นอกจากนี้: PYTHONPATH = / usr / local / lib / python2.7 เว็บไซต์ / แพคเกจ: /usr/local/lib/python2.7/site-packages/gnuradio
200 python  pycharm  gnuradio 

10
การรวมไฟล์ที่ไม่ใช่ไพ ธ อนด้วย setup.py
ฉันจะทำอย่างไร setup.pyรวมไฟล์ที่ไม่ได้เป็นส่วนหนึ่งของรหัสได้อย่างไร (โดยเฉพาะมันเป็นไฟล์ลิขสิทธิ์ แต่อาจเป็นอย่างอื่นก็ได้) ฉันต้องการที่จะควบคุมตำแหน่งของไฟล์ ในโฟลเดอร์ต้นฉบับต้นฉบับไฟล์อยู่ในรูทของแพ็คเกจ (เช่นในระดับเดียวกับระดับสูงสุด__init__.py) ฉันต้องการให้มันอยู่ตรงนั้นเมื่อติดตั้งแพ็คเกจโดยไม่คำนึงถึงระบบปฏิบัติการ ฉันจะทำอย่างไร
200 python  distutils 

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