cum se utilizează concatenarea unui șir fix și a unei variabile în Python (Programare, Python, Concatenarea Șirurilor De Caractere)

Shivam Agrawal a intrebat.

Vreau să includ numele de fișier „main.txt” în subiect, pentru care trec numele de fișier din linia de comandă. dar primesc o eroare în acest sens

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

Comentarii

  • Este aproape întotdeauna o idee bună să includeți urma de stivă – este acolo pentru a vă ajuta să depanați! –  > Por Brionius.
6 răspunsuri
Brionius

Bănuiesc că ai vrut să faci asta:

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

Smith John
variable=" Hello..."  
print (variable)  
print("This is the Test File "+variable)  

pentru tipul întreg …

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

DotPi

Încearcă:

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

The + este suprascris în python pentru a concatena șiruri de caractere.

Samwise Ganges

Știu că acest lucru este puțin mai vechi, dar am vrut să adaug un răspuns actualizat cu f-strings care au fost introduse în Python versiunea 3.6:

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

Comentarii

  • Este aceasta calea recomandată peste plus concatenator? –  > Por Timo.
  • Exact ceea ce căutam acum! Vă mulțumesc! –  > Por Bi Wu.
Anto

Dacă aveți nevoie să adăugați două șiruri de caractere trebuie să folosiți operatorul ‘+’

de aici

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

și, de asemenea, trebuie să importați sys la început

ca

import sys

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

Comentarii

  • Acesta trebuie să fie msg['Subject'] = 'your string' + sys.argv[1] în primul exemplu, altfel veți primi o eroare de sintaxă. –  > Por Timo.
Doryx

Cu python 3.6+:

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