web-dev-qa-db-ja.com

Pythonで固定文字列と変数を連結する方法

コマンドラインからファイル名を渡すために、件名にファイル名「main.txt」を含めたい。しかし、そうすることでエラーが発生します

python sample.py main.txt #running python with argument 

msg['Subject'] = "Auto Hella Restart Report "sys.argv[1]  #line where i am using that passed argument
25
Shivam Agrawal

私はあなたがこれを行うつもりだったと推測しています:

msg['Subject'] = "Auto Hella Restart Report " + sys.argv[1]
# To concatenate strings in python, use       ^ 
40
Brionius

試してください:

msg['Subject'] = "Auto Hella Restart Report " + sys.argv[1]

+演算子は、文字列を連結するためにpythonでオーバーライドされます。

7
DotPi

2つの文字列を追加する必要がある場合は、「+」演算子を使用する必要があります

したがって

msg['Subject'] = your string + sys.argv[1]

また、最初にsysをインポートする必要があります

なので

import sys

msg['Subject'] = "Auto Hella Restart Report " + sys.argv[1]
4
Anto
variable=" Hello..."  
print (variable)  
print("This is the Test File "+variable)  

整数型の場合...

variable="  10"  
print (variable)  
print("This is the Test File "+str(variable))  
2
Smith John

python 3.6+:

msg['Subject'] = f"Auto Hella Restart Report {sys.argv[1]}"

0
Doryx