Tags:
Forums: 

ผมสร้างเงื่อนไขไว้ว่า

if i == 1:

ให้รันไฟล์ 1.py

else :

ให้รันไฟล์ 2.py

ได้รึเปล่าครับ
ผมจะใช้คำสั่งอะไรในการสั่งให้รันไฟล์ได้บ้างครับ

Get latest news from Blognone
By: cwt
AndroidRed Hat
on 28 January 2009 - 08:36 #82690

google ด้วยคำว่า python execute command แล้วจะเจอคำตอบ

ถามจริงๆ ก่อนจะมาถามนี่เคยหาด้วย google ก่อนหรือเปล่า? (ไม่ได้ว่าอะไรแค่อยากรู้)

By: immortalt on 28 January 2009 - 08:49 #82693

พี่ cwt คับ ถึงเขาจะไม่ได้เสิร์ช กูเกิล มา ก่อน แล้ว มา ทำ การ ถาม ใน บอร์ด ผม ก็ ว่า มัน เป็น สิทธิ์ ของ เขา นะ คับ

ไม่ควรมาพูด เหน็บแนม แบบนั้น มัน ทุเรศ อ่า คับ

บางคน เขา อาจ ใหม่ สำ หรับ การ เรียน รู้ ด้วย ตัว เอง ยัง ไม่ เซียน เขา ก็ ต้อง การ ถาม แล้ว ได้ คำ ตอบ เลย

นี่ ไม่ ตอบ แล้ว พูด กวน อีก ( แบบ ว่า ขอ บ่น หน่อย เห็น มา เยอะ มาก ใน หลายๆ เว็บ บอร์ด จะ มี คน แนวๆ นี้

อยู่ เยอะ ใคร ถาม อะไร ง่ายๆ มา ไล่ ไป เสิร์ช google ตลอด )

ตอบ คุณ zooshi ผมว่า ทำได้ คับ แม้จะไม่ เคยเขียน python มา ก่อน แต่ คิด ว่า ทำ ได้ ชัวร์ 100%

By: cwt
AndroidRed Hat
on 28 January 2009 - 19:38 #82824 Reply to:82693

google ด้วยคำว่า python execute command แล้วจะเจอคำตอบ

นี่คือคำตอบของผมไงครับ ถาม google ก็ได้คำตอบเลยเหมือนกันครับ และการถามใน webboard ก็ควรจะอนุมานได้อยู่แล้วว่าไม่ต้องการคำตอบทันที เพราะไม่รู้ว่าจะมีคนเข้ามาอ่านและมาตอบเมื่อไหร่ อีกอย่างถ้าผมตอบแบบนี้ คนที่อ่านก็จะพอจับคำถามโยงกับ keyword ที่ผมแนะให้ หลังจากนี้ก็จะสามารถใชั้ google ได้ด้วยตัวเอง

ผมไม่เห็นว่าการตอบแนวนี้จะทุเรศตรงไหนครับ

และกรุณาดูเวลาที่ผมตอบด้วย 8.36 คือเวลาที่ผมกำลังจะออกไปทำงาน ดังนั้นผมเข้ามาตอบให้สั้นๆ แบบนี้ ถ้าจังหวะนั้นคนถามเข้ามาอ่านและไปค้น google ตามที่บอกก็จะเจอคำตอบก่อนที่ผมจะมาถึงที่ทำงานซะอีก

By: kowito2
Android
on 30 January 2009 - 19:11 #83228 Reply to:82693

ใช้ภาษาไทยได้หรือไม่ครับ อ่านแล้วปวดกบาล

By: Kurtumm
ContributoriPhoneUbuntu
on 30 January 2009 - 20:29 #83238 Reply to:82693
Kurtumm's picture

ใครสั่งใครสอนให้เขียนภาษาไทยเว้นวรรคแบบนี้เหรอครับ

อาจารย์ภาษาไทยมาเห็นนี่ร้องไห้น้ำตาเป็นสายเลือดแน่


kurtumm

By: cwt
AndroidRed Hat
on 30 January 2009 - 23:43 #83258 Reply to:83238

ใจเย็นๆ ครับ มียุคนึงเราก็พยายามให้คนไทยเขียนแยกคำเหมือนกันนะ (น่าจะช่วงสงครามโลก) นัยว่าเอาใจฝรั่ง หนังสือเรียนภาษาไทยตอนประถม (สมัยผม) ก็เขียนแยกแบบนี้เหมือนกัน พอดีไปเจอ link นี้ ลองไปอ่านดูเค้าคุยกันเรื่องนี้ครับ

By: anu
Contributor
on 28 January 2009 - 09:06 #82695

เค้าคงไม่รู้จะหาด้วย Keyword อะไร และอีกอย่างถึงหาเจอก็อาจจะอ่านไม่ออก ไม่อย่างนั้นคงหาเองแล้ว

ถามในนี้ ง่ายจะตาย ไม่ต้องหา แถมได้คำตอบเป็นภาษาไทยอีก..

a.py

import sys, subprocess

print "Hello this is a\n"

subprocess.call([sys.executable, "", "b.py"])

b.py

print "Hello this is b\n"

ทดลอง

python b.py

Hello this is b

python a.py

Hello this is a

Hello this is b

By: risc on 28 January 2009 - 09:24 #82699 Reply to:82695

นั่งพิมพ์ตั้งนาน ท่าน anu มาตอบให้ละ เหอๆ ข้าน้อยขอคาราวะ หนึ่งจอก

แสวงหามิใช่เพราะรอคอย เชี่ยวชาญมิใช่เพราะโอกาส ชำนาญมิใช่เพราะโชคช่วย"ดังนี้แล้วลิขิตฟ้าหรือจะสู้มานะตน"chonlatee

By: risc on 28 January 2009 - 09:22 #82698

ผมเคยเห็นใน codenone มีคน post หรือ reply ไว้นี้แหละ ใ้้ห้ python รันไฟล์อื่น

ตอบ zoozhi : ทำได้ครับให้ python excute ไฟล์อื่น

ผมหาให้แล้วครับ

If you want to run the whole other program, you can use the os.system()
function. Here's an example of how it might work:

#

import os
print "I will call this other program called hello.py"
os.system("python hello.py")

#

คัดลอกจาก

http://mail.python.org/pipermail/tutor/2002-September/017368.html

ขอแสดงความคิดเห็นในการ search หาข้อมูลก่อน : ผมเห็นด้วยคุณ cwt และ immortalt

เห็นด้วย immortalt : ผมก็เคยไปถามในบอร์ดบางบอร์ด บางคนก็ตอบบางคนก็ให้ไป search google จนผมไม่กล้าถามเลย ทั้งๆที่ผมก็หาแล้วนะใน google แต่ไม่เจอ อาจจะเกิดจากใช้ keyword ไม่ตรงอะไรประมาณนี้ ผมว่าถ้าไล่ให้ไป search google อย่างเดียว ไม่ต้องตั้งมาหรอกครับบอร์ดหรืออะไรที่คอยช่วยปัญหา ความคิดเห็นส่วนตัวนะครับ

เห็นด้วย cwt : คือบางคำถามเนี้ย search google ก็ไม่ได้ยากเย็นอะไรเลย อย่างเช่นคำถาม "ผมจะเริ่มเขียน python เริ่มยังไงดี" , "เขียน python ต้องทำยังไง" อันนี้ผมเเห็นด้วยครับ แต่บางคำถามก็ต้องนึกว่าจะใช้ keyword อะไรในการค้นหา อันนี้ตัวผมถือว่าอยากพอสมควร

กรณีของ จขกท นั้นถือว่าพอรับได้ แต่ถ้าหาใน google แล้วไม่เจอก็ควรจะบอกหน่อยว่า

"ผมหาใน google แล้วไม่เจอ ผมอาจจะใ้ช้คำไม่ถูกต้อง รบกวนด้วยครับ" ประมาณนี้

ท่านพี่ทั้งหลายในนี้จะได้รู้ว่า เราก็พยายามเหมือนกัน แต่ยังไม่ค้นพบแล้วรีบ หรือ เร่งด่วน ก็เลยถาม

แสวงหามิใช่เพราะรอคอย เชี่ยวชาญมิใช่เพราะโอกาส ชำนาญมิใช่เพราะโชคช่วย"ดังนี้แล้วลิขิตฟ้าหรือจะสู้มานะตน"chonlatee

By: anu
Contributor
on 28 January 2009 - 10:05 #82715 Reply to:82698

เพิ่มให้ -- ผมก็ไม่เคยเขียน Python มาก่อนเหมือนกัน แต่สนใจกับคำถาม ก็เลยลองหาดู

ผมใช้ keyword นี้นะครับ

By: zoozhi on 28 January 2009 - 22:51 #82866

ขอบคุณทุกท่านนะครับสำหรับคำแน่ะนำ ผมลองทำดูแล้ว ก็ยังไม่ได้เลยครับ

ของคุณ anu ผมลองทำดูแล้วเริ่มจากลองโค้ดที่คุณให้ หลังจากรัน a.py คำตอบได้แต่ a ครับ b ไม่แสดงออกมาด้วย

ของคุณ risc ผมลองใช้ os.system แล้วนะครับแต่ผลลัพธ์แสดงที่หน้าจอดอส แล้วไม่ได้แสดงเป็นภาษาไทย ผมไม่แน่ใจว่าได้รึเปล่า

ของคุณ cwt ขอบคุณนะครับสำหรับ keyword ผมก็ลองตามที่คุณให้มา ก็เจอโค้ดบางแต่ยังรันไม่ได้นะครับ สงสัยคงจะใส่ค่าผิด

ผมรันผ่าน IDLE บน window นะครับ ไม่ทราบว่าจะเกี่ยวรึเปล่าที่รันไม่ได้

By: cwt
AndroidRed Hat
on 28 January 2009 - 23:21 #82868 Reply to:82866

แบบนี้ค่อยน่าตอบหน่อยครับ คือได้ลองดูก่อน แล้วเจอปัญหา แล้วค่อยมาถามว่าปัญหาที่เจอคืออะไร


from subprocess import Popen,PIPE
p = Popen('/bin/ls', shell=True,stdout=PIPE,stderr=PIPE)
out = ''.join(p.stdout.readlines())
outerr = ''.join(p.stderr.readlines())

ลองทำแบบนี้ครับ parameter แรกของ Popen คือคำสั่งที่เราจะ execute

output จะอยู่ในตัวแปร out และ error จะอยู่ใน outerr

ตาม code นี้ถ้าสั่ง print out ก็จะเห็น output จากการ execute /bin/ls ครับ

ปล. code นี้ผมก็เอามาจาก link แรกที่ google เจอครับ แต่แก้นิดหน่อยให้ใช้บน python 2.5

By: risc on 29 January 2009 - 09:45 #82945 Reply to:82866

คงเกี่ยวกับการ encode ลองดูกระทู้นี้ครับ

http://www.blognone.com/node/10365

แสวงหามิใช่เพราะรอคอย เชี่ยวชาญมิใช่เพราะโอกาส ชำนาญมิใช่เพราะโชคช่วย"ดังนี้แล้วลิขิตฟ้าหรือจะสู้มานะตน"chonlatee

By: cwt
AndroidRed Hat
on 29 January 2009 - 15:09 #83005 Reply to:82945

ถ้า output ถูกส่งไปยัง command line (DOS) ของ windows ยังไงก็อ่านไม่ออกอยู่แล้วครับ เพราะว่า font ของ command line ใน windows ไม่มีภาษาไทย