shellpython
Ⅰ python和shell的區別
shell 應該屬於宏語言,顧名思義是系統的殼,方便與系統交互的在以下情況下,不使用shell,因為shell對此無能為力;如:跨平台,較復雜數學操作(如浮點運算,精確運算等),圖形化界面 GUI,I/O 或socket 介面,多維數組,對效率要求很高等。
shell:簡單,開發迅速,專注系統(比如:Linux)管理領域。
python:通用腳本語言,功能強大,跨平台(比如:Windows和Linux),嚴謹;
Python可以調用圖形庫,可以直接做網路應用,甚至直接嵌入其它語言,跨平台;
shell就是和系統結合得比較緊密,其內部數據處理方面,側重文本(或者說字元串,或字元流)處理,而對運算和其他基本數據結構的原生較弱。
Ⅱ Linux下編寫腳本Shell和Python的區別
題主問的是調用命令,那當然是 POSIX 系 Shell 不羅嗦。如果你要個調用命令還算可以並且寫起來舒服點的語言,建議找 Ruby 去。
另
外偏題去說 Shell 不是系統級編程語言的我也是醉了,我還真沒看到過沒有 Shell 能幹活的 Unix/Linux 傢伙的,就連你個
sysVinit 也得靠 shell 啊。並且你還觸碰到了 Unix 狂魔的 G 點——Shell 用戶萬能的膠水能力被丟到哪裡去了?隨便起一個
Python Shell 抓住 stdin 灌或者 /tmp 丟個文件喂,你能乾的我全都能幹(這是認真的,參見 makeself 等自解壓
shell 腳本形式)。
講 Google Style Guide 的算是靠了點譜(雖然還是丟下了調用命令這回事),問題是 Google 還不許用 C++ STL 呢你怎麼不說?Bash 這玩意,認真寫的人文件頭都 source 一組小庫的。
嗯上面三段講的是調用命令這個需求、最小依賴這個優點和語言本身不常被嚴肅使用(放著功能禁止用)這回事。
接下來的內容嚴重不友善,涉及大量打岔,請題主手動忽略。大概大家都看得出我和生意人在微博上有些觀點上的矛盾,我也承認匿名這樣黑不大好。但是這和用 Shell 開命令搞管道膠水一樣爽啊,我怎麼會放棄?
稍有常識的人都能看出,LibreWindows 冒泡排序的 shell 腳本完全不是用和 py 同一種風格寫出來的。我在這里做了較為忠實的翻譯:
#!/bin/bash
orig=(12 5 13 8 9 65)
# paramaters[] -> list[]
bubble(){
list=("$@")
local size=$((${#list[@]}-1)) i sorted=0 t
until ((sorted)); do
sorted=1
for ((i=0;i<size;i++)); do
if ((list[i] > list[i+1])); then
sorted=0;
t="${list[i]}" list[i]="${list[i+1]}" list[i+1]="$t"
fi
done
done
}
bubble "${orig[@]}"
echo ${list[@]}
: << _NOTES
Real unix-shelly way:
sorted=$(for i in ${orig[@]}; do echo $i; done | sort -g)
sorted=$($sorted)
echo ${sorted[@]}
_NOTES
Bash 的完整版本可以使用 declare -n 創建引用類型的變數,但是 Cygwin 上的 bash 沒編譯進去我也就先不用吧。
提
請閣下注意一點,數組本非古老的 Shell 所支持的,She-bang 不應調用 /bin/sh 而應使用 /bin/bash 執行。Bash
帶著鐐銬做這種拓展還要拿來說就算了,還強行醜化代碼不開高亮接著便是叫人「感受一下」,大概也是先生您在微博上常用的套路了。另外我承認論現代編程
Shell 不如 Python,也承認 WoSign/CNNIC 驗證就是比資本主義快。
啊我忘了一點,這個問題本來就是討論調用命令的,你跟我扯一般計算幹啥?
不要問我是誰,我只是個買辣條的。
Ⅲ 如何在shell運行python
如果您是Linux或Unix系統,直接在shell輸入python即可進入python交互環境。如果您是Windows系統,需要到Python官網下載頁面https://www.python.org/downloads/中下載對應平台和版本的python包,解壓並運行python安裝程序,安裝好python後配置環境變數,將C:\Python27(或Python34)加入環境變數即可
Ⅳ 如何進入python shell
linux系統下,在shell中直接打python,回車
win下,在cmd下,直接打python,回車
所有的這些前提,是你裝好了python,且配置好了python環境變數
Ⅳ python shell是什麼東西
python shell是Python的命令行。
shell中最常用的是ls命令,python對應的寫法是:os.listdir(dirname),這個函數返回字元串列表,裡面是所有的文件名,不過不包含」.」和」..」。
如果要遍歷整個目錄的話就會比較復雜一點,在解釋器里試一下:
>>> os.listdir(」/」)
[』tmp』, 『misc』, 『opt』, 『root』, 『.autorelabel』, 』sbin』, 』srv』,『.autofsck』, 『mnt』, 『usr』, 『var』, 『etc』, 』selinux』, 『lib』, 『net』,『lost+found』, 』sys』, 『media』, 『dev』, 『proc』, 『boot』, 『home』, 『bin』]
就像這樣,接下去所有命令都可以在python的解釋器里直接運行觀看結果。
(5)shellpython擴展閱讀:
python shell對應於shutil.(src,dest),這個函數有兩個參數,參數src是指源文件的名字,參數dest則是目標文件或者目標目錄的名字。
如果dest是一個目錄名,就會在那個目錄下創建一個相同名字的文件。與shutil.函數相類似的是shutil.2(src,dest),不過2還會復制最後存取時間和最後更新時間。
不過,shell的cp命令還可以復制目錄,python的shutil.卻不行,第一個參數只能是一個文件。
其實,python還有個shutil.tree(src,dst[,symlinks])。參數多了一個symlinks,它是一個布爾值,如果是True的話就創建符號鏈接。
移動或者重命名文件和目錄,shutil.move(src,dst),與mv命令類似,如果src和dst在同一個文件系統上,shutil.move只是簡單改一下名字,如果src和dst在不同的文件系統上,shutil.move會先把src復制到dst,然後刪除src文件。
Ⅵ 如何用python shell運行.py文件
在Python shell界面,輸入.py文件,單擊「run」來執行代碼,再回到shell界面,輸入代碼,就可以運行.py文件了。
Ⅶ 如何打開python shell
Windows啟動Python互動式解釋器有兩種方式。第一種方式是進入Pyhton的安裝目錄,直接運行python.exe程序;第二種方式是進入Windows命令行窗口,在命令行窗口啟動python.exe。步驟如下:
1、第一步 找到python.exe文件:
注意事項:
1、在Windows命令行窗口啟動Python互動式解釋器,首先需要將Python安裝目錄的路徑,添加到Path系統環境變數
2、可以啟動Python交互解釋器進行互動式編程,也可以用Python自帶的集成開發工具編寫Python程序
Ⅷ shell腳本與python如何結合起來呢
os.system(command)這個函數可以調用shell運行命令行command並且返回它的返回值。試一下在python的解釋器里輸入os.system(」ls
-l」),就可以看到」ls」列出了當前目錄下的文件。可以說,通過這個函數,python就擁有了shell的所有能力。
Ⅸ python shell到底是干什麼的啊……
你好:
其實沒什麼區別的;
就是寫代碼和調試的環境不一樣而已;
你不需要安裝這些東西也是可以寫代碼的!
Ⅹ shell和python腳本學哪個
各有優勢,個人偏向python
跨平台
面向對象,模塊豐富,在解決一些復雜問題時方便點,除了當腳本用也能寫一些比較大的應用程序;
代碼可讀性好,易寫易維護
不過最終還是看工作需要吧