看板Python
標 題Re: [問題] os.system 執行目前目錄執行檔
發信站SayYA 資訊站 (Tue Sep 30 16:25:01 2008)
轉信站ptt!ctu-reader!ctu-gate!news.nctu!news.ncu!News.Math.NCTU!SayYa
※ 引述《[email protected] (偽ABJ)》之銘言:
> 假設我在目前目錄下有一個執行檔 a.out
> 如果下 os.system("./a.out")
> 將會出現下列錯誤訊息:
> sh: ./a.out: not found
請問你目前執行 ./a.out 手動方式可以執行嗎 ? 若可以再討論
python 部分比較好確認問題點. 也許你的 a.out 本來就是無法
被識別可執行項目
> 如果把 ./ 換成絕對路徑也不行… @@
> 在前面加 sh 也不行
a.out 不是 shell script, 用這方式肯定是一定不行的.
> 所以如果想執行目前目錄底下的執行檔該怎麼下才正確呢?
> 話說用 python 來代替 shell script 是不是一個不太好的主意啊?
> 大家覺得勒我是覺得 string 的處理上 loop 等等都比直接寫 shell script
> 簡單得多
你的問題測試:
$ ls -l
總計 8
-rwxrwxr-x 1 kendlee kendlee 51 2008-09-30 16:20 hello.py*
-rw-rw-r-- 1 kendlee kendlee 70 2008-09-30 16:19 test.c
$ cat -n hello.py
1 #!/usr/bin/python
2
3 import os
4
5 os.system("./a.out")
$ cat -n test.c
1 #include <stdio.h>
2
3 int main()
4 {
5 printf("Hello World from C \n");
6 }
$ gcc test.c
$ ./a.out
Hello World from C
--
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
現代人普遍的現象: 「小學而大遺」、「捨本而逐末」
「以偏而概全」、「因噎而廢食」
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
--
※ Origin: SayYA 資訊站 <bbs.sayya.org>
◆ From: kendlee.sayya.org
推 Reinhard:執行檔的確可以執行 這個我確定 09/30 18:02
→ blc:外站來的文章是看不到推文的哦。 09/30 20:12
→ cobrasgo:run a.out和run python時是同一個user嗎? 09/30 22:23
推 Reinhard:同一個 user 沒錯 10/01 06:37