>

여러 줄 문자열에 정수 값을 추가해야하는 Python (3.6) 프로젝트에서 작업하고 있습니다.

내 코드는 다음과 같습니다 :

   for var in list(range(1, no_of_svc + 1)):
        svar = str(var)
        print(type(svar))
        port = type(data['configuration']['svc' + svar]['port']['port'])
        print(port)
        port = str(data['configuration']['svc' + svar]['port']['port'])
        deployments = deployment + '''\n
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: ''' + data['deployment_name'] + '''-''' + data['configuration']['svc' + str(var)]['name'] + '''
  labels:
    #Project ID
    app: ''' + data['configuration']['svc' + str(var)]['name'] + '''
spec:
  #Run two instances of our application
  replicas: ''' + data['configuration']['svc' + str(var)]['replicas'] + '''
  template:
    metadata:
      labels:
        app: ''' + data['configuration']['svc' + str(var)]['name'] + '''
    spec:
      #Container details
      containers:
        - name: ''' + data['configuration']['svc' + str(var)]['versions']['v1']['name'] + '''
          image: ''' + data['configuration']['svc' + str(var)]['versions']['v1']['image'] + '''
          imagePullPolicy: Always
          #Ports to expose
          ports:
          - containerPort: ''' + port + '''        
'''

위 코드에서 볼 수 있듯이 port 를 변환했습니다.  문자열 및 심지어 print(type(svar)) 의 출력  그리고 print(port)   <class 'str'> 입니다  그래도 작동하지 않습니다.

오류 메시지는 다음과 같습니다.

  - containerPort: ''' + port + '''
 TypeError: must be str, not int

와이즈 비즈 와이즈 비즈  방법과 작동 :을

I have turned it by using the

무엇이 잘못 될 수 있습니까?

format

  • 답변 # 1

    format 사용   port 의 가치를두기 위해  당신의 문자열에.

    참조 :-

    >>> port = 'my string1'
    >>> str1 = ''' this is the second string and here is {} '''.format(port)
    >>> str1
    ' this is the second string and here is my string1 '
    
    

  • 답변 # 2

    오류 메시지/추적은 오류가 실제로 발생한 지점이 아니라 오류가 감지 된 위치를 나타냅니다. 적절한 MCVE를 게시하지 않아 오류를 재현 할 수 없습니다 ( data 에 무엇이 있는지 모릅니다) ) 그러나 실제 문제는 실제로 data 에서 연결된 수많은 다른 값 중 하나입니다  코드의 상단 (파이썬의 경우 전체 deployment = deployment + '''(...)''' 를 기억하십시오.  하나의 진술입니다.

    어쨌든 :처음부터 잘못하고 있습니다. 연결하는 대신 훨씬 더 읽기 쉽고 필요한 변환을 처리하는 문자열 형식화 작업을 사용하려고합니다.

관련 자료

  • 이전 google cloud platform - 기본 사용자와 같은 사용자를 만드는 방법은 무엇입니까?
  • 다음 설정된 빈도 후 캐시 된 Spark 데이터 프레임 새로 고침