คำถามติดแท็ก python-2.x

สำหรับคำถามเกี่ยวกับการเขียนโปรแกรม Python ที่เฉพาะเจาะจงกับรุ่น 2.x ของภาษา ใช้แท็ก [แท็ก: งูใหญ่] ทั่วไปหากคำถามของคุณไม่เฉพาะรุ่น

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 ที่ฉันพบนั้นเป็นวิธีที่เหนือหัวของฉันฉันยังคงเป็นคนธรรมดา

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 เป็นไปได้ไหม?

7
Python - ตัวแปลงสัญญาณ 'ascii' ไม่สามารถถอดรหัสไบต์ได้
ฉันสับสนจริงๆ ผมพยายามที่จะเข้ารหัส can't decode...แต่ข้อผิดพลาดดังกล่าว >>> "你好".encode("utf8") Traceback (most recent call last): File "<stdin>", line 1, in <module> UnicodeDecodeError: 'ascii' codec can't decode byte 0xe4 in position 0: ordinal not in range(128) ฉันรู้วิธีหลีกเลี่ยงข้อผิดพลาดที่มีคำนำหน้า "u" ในสตริง ฉันแค่สงสัยว่าทำไมจึงเกิดข้อผิดพลาด "ไม่สามารถถอดรหัส" เมื่อมีการเรียกการเข้ารหัส Python กำลังทำอะไรอยู่ภายใต้ประทุน?


10
คีย์เวิร์ด nonlocal ใน Python 2.x
ฉันพยายามใช้การปิดใน Python 2.6 และฉันต้องการเข้าถึงตัวแปร nonlocal แต่ดูเหมือนว่าคีย์เวิร์ดนี้จะไม่มีใน python 2.x วิธีหนึ่งจะเข้าถึงตัวแปร nonlocal ในการปิดใน python เวอร์ชันเหล่านี้ได้อย่างไร

4
Python super () เพิ่ม TypeError
ใน Python 2.5 โค้ดต่อไปนี้ทำให้เกิดTypeError: >>> class X: def a(self): print "a" >>> class Y(X): def a(self): super(Y,self).a() print "b" >>> c = Y() >>> c.a() Traceback (most recent call last): File "<stdin>", line 1, in <module> File "<stdin>", line 3, in a TypeError: super() argument 1 must be type, not …

4
ความเชื่อมโยงของ“ in” ใน Python?
ฉันกำลังสร้างตัวแยกวิเคราะห์ Python และสิ่งนี้ทำให้ฉันสับสนจริงๆ : >>> 1 in [] in 'a' False >>> (1 in []) in 'a' TypeError: 'in <string>' requires string as left operand, not bool >>> 1 in ([] in 'a') TypeError: 'in <string>' requires string as left operand, not list "ใน" ทำงานอย่างไรใน Python เกี่ยวกับการเชื่อมโยง ฯลฯ เหตุใดจึงไม่มีการแสดงออกทั้งสองแบบนี้ในลักษณะเดียวกัน

11
จะเพิ่มองค์ประกอบที่จุดเริ่มต้นของ OrderDict ได้อย่างไร?
ฉันมีสิ่งนี้: d1 = OrderedDict([('a', '1'), ('b', '2')]) ถ้าฉันทำสิ่งนี้: d1.update({'c':'3'}) จากนั้นฉันจะได้รับสิ่งนี้: OrderedDict([('a', '1'), ('b', '2'), ('c', '3')]) แต่ฉันต้องการสิ่งนี้: [('c', '3'), ('a', '1'), ('b', '2')] โดยไม่ต้องสร้างพจนานุกรมใหม่

5
รักษากรณีใน ConfigParser หรือไม่
ฉันได้พยายามใช้โมดูลConfigParserของ Python เพื่อบันทึกการตั้งค่า สำหรับแอปของฉันสิ่งสำคัญคือฉันต้องรักษากรณีของแต่ละชื่อในส่วนของฉัน เอกสารระบุว่าการส่ง str () ไปยังConfigParser.optionxform ()จะทำได้สำเร็จ แต่มันไม่ได้ผลสำหรับฉัน ชื่อเป็นตัวพิมพ์เล็กทั้งหมด ฉันพลาดอะไรไปรึเปล่า? <~/.myrc contents> [rules] Monkey = foo Ferret = baz Python pseudocode ของสิ่งที่ฉันได้รับ: import ConfigParser,os def get_config(): config = ConfigParser.ConfigParser() config.optionxform(str()) try: config.read(os.path.expanduser('~/.myrc')) return config except Exception, e: log.error(e) c = get_config() print c.options('rules') [('monkey', 'foo'), ('ferret', 'baz')]

1
เหตุใด dict.keys () ของ Python จึงส่งคืนรายการไม่ใช่ชุด?
ฉันคาดว่าวิธีการคีย์ของ Python จะส่งคืนชุดแทนที่จะเป็นรายการ เนื่องจากมีลักษณะใกล้เคียงที่สุดกับการรับประกันที่กุญแจของแฮชแมปจะมอบให้ โดยเฉพาะอย่างยิ่งมีลักษณะเฉพาะและไม่เรียงลำดับเหมือนชุด อย่างไรก็ตามวิธีนี้จะส่งคืนรายการ: >>> d = {} >>> d.keys().__class__ <type 'list'> นี่เป็นเพียงความผิดพลาดใน Python API หรือมีสาเหตุอื่นที่ฉันพลาดไปหรือไม่?

3
เป็นไปได้ไหมที่จะรัน python SimpleHTTPServer บน localhost เท่านั้น
ฉันมีการเชื่อมต่อ vpn และเมื่อฉันใช้ python -m SimpleHTTPServer มันให้บริการบน 0.0.0.0:8000 ซึ่งหมายความว่าสามารถเข้าถึงได้ผ่าน localhost และผ่านทาง ip จริงของฉัน ฉันไม่ต้องการให้โรบ็อตสแกนฉันและสนใจว่าเซิร์ฟเวอร์จะเข้าถึงได้ผ่านทาง localhost เท่านั้น เป็นไปได้ไหม? python -m SimpleHTTPServer 127.0.0.1:8000 # doesn't work. เซิร์ฟเวอร์ http แบบธรรมดาอื่น ๆ ที่สามารถดำเนินการได้ทันทีโดยใช้บรรทัดคำสั่งก็ยินดีต้อนรับเช่นกัน

1
เปิดไฟล์ในโหมด universal-newline โดยใช้โมดูล CSV Django
ฉันพยายามเข้าถึงmodel.filefieldใน Django เพื่อแยกวิเคราะห์ไฟล์ CSVใน Python โดยใช้csvโมดูล มันทำงานบน Windows แต่บน Mac มันให้สิ่งนี้แก่ฉัน: Exception Type: Error Exception Value: new-line character seen in unquoted field - do you need to open the file in universal-newline mode? นี่คือรหัส: myfile = customerbulk.objects.all()[0].fileup mydata = csv.reader(myfile) for email,mobile,name,civilid in mydata: print email,mobile,name,civilid

1
Brew - ติดตั้ง python ใหม่อีกครั้ง
ฉันได้รับมีปัญหาเกี่ยวกับ OpenSSL และงูหลาม @ 2 ชงซึ่งได้อธิบายนี่ (ไม่ได้ตั้งใจ) วิธีแก้ปัญหาในเอกสารเพื่อติดตั้ง Python ใหม่และ openssl ไม่ทำงานดังนั้นฉันจึงตัดสินใจถอนการติดตั้งและติดตั้ง Python ใหม่อีกครั้ง ปัญหาคือเมื่อคุณพยายามติดตั้ง Python 2 ด้วย Brew คุณจะได้รับข้อความนี้: brew install python@2 Error: No available formula with the name "python@2" ==> Searching for a previously deleted formula (in the last month)... Warning: homebrew/core is shallow clone. To get complete …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.