簡體   English   中英

Windows中的Python:從命令行進行編程

[英]Python in windows : programming from the command line

我想從cmd用python編寫簡單的多行程序,我想做的是傳遞一個參數,然后進行一些操作並將輸出保存到文本文件,我在網上找到了一些示例,但沒有任何幫助。
例如,這里是我想做的事情:
>echo "230-20-5" | python -c "[commands]" > output.txt
我想將其拆分,取每個數字,然后將每個數字加5,然后對結果求和,因此output.txt應該是:
235 25 10 the result is : 270

順便說一句,如果有人可以給我在線教程,那將是很棒的
謝謝。

是的,我問[命令]中必須包含什么內容,我知道如何執行簡單的單行命令,例如> python -c“ print'Hello'”> output.txt,但不能執行多行命令

不知道為什么要這樣做,但是在這里您可以:

>> echo "230-20-5" | python2.7 -c "exec(\"inp=raw_input()\nlst=[int(x)+5 for x in inp.split('-')]\nfor x in lst: print x\nprint \'the result is:\', sum(lst)\")" > out

out將包含:

235
25
10
the result is: 270

我使用bash進行了測試,因此您可能需要對Windows下使用的任何shell進行少量調整。

將以下代碼放在文件foo_bar.py中

import argparse
parser = argparse.ArgumentParser()
parser.add_argument("val")
args = parser.parse_args()

for i in args.val.split('-'):
    print int(i) + 5
    sum += int(i) + 5
print 'the result is', sum

現在從命令行輸入:

python foo_bar.py 230-20-5  > output.txt

您也可以嘗試使用以下方法直接放置代碼:

python -c "import argparse;parser = argparse.ArgumentParser();parser.add_argument('val');args = parser.parse_args();for i in args.val.split('-'):print int(i) + 5;" 230-20-5 > output.txt

雖然我無法正常工作!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM