簡體   English   中英

如何將字符串發送到python文件並使用終端顯示它

[英]how to send string to python file and display it using terminal

我想知道如何從terminalcommand prompt獲取string並將該字符串小寫並將其顯示在terminalcommand 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.

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