[英]how to send string to python file and display it using terminal
我想知道如何從terminal
或command prompt
獲取string
並將該字符串小寫並將其顯示在terminal
或command prompt
我使用了這段代碼,但它不起作用
// in main.py cmd or terminal
import sys
tdf = sys.argv[1]
print(tdf)
並在terminal
// in cmd or terminal
PS E:\Python\Project\At> python .\main.py "Hi"
當我在終端中使用它時出現此錯誤
文件“C:\\Users\\miladm\\AppData\\Local\\Programs\\Python\\Python39\\lib\\encodings\\cp1256.py”,第 19 行,編碼返回 codecs.charmap_encode(input,self.errors,encoding_table)[0] UnicodeEncodeError : 'charmap' 編解碼器不能在位置 13 編碼字符 '\ی':字符映射到
代碼:
import sys
print ("Data from terminal :",sys.argv)
運行腳本時使用:
D:\python>python cmdline.py "hello"
輸出:
Data from terminal : ['cmdline.py', 'hello']
使用python filename.py "arguments"
代替
tdf = sys.argv[1]
用,
tdf = sys.argv[-1]
因為它將獲得命令行上的最后一個參數。 如果沒有傳遞參數,它將是腳本名稱本身,因為 sys.argv[0] 是正在運行的程序的名稱。 在你的情況下,如果沒有傳遞參數,它會產生一個錯誤
import sys
tdf = sys.argv[-1]
print(tdf)
要讀取用戶輸入,您可以嘗試使用cmd
模塊輕松創建迷你命令行解釋器(帶有幫助文本和自動完成功能)和raw_input
(Python 3+ 的輸入)來讀取用戶的一行文本。
text = raw_input("prompt") # Python 2
text = input("prompt") # Python 3
命令行輸入在 sys.argv 中。 在你的腳本中試試這個:
import sys
print (sys.argv)
有兩個用於解析命令行選項的模塊: optparse
(自 Python 2.7 起已棄用,請改用 argparse)和 getopt。 如果您只想將文件輸入到腳本中,請看 fileinput 的強大功能。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.