2016-08-01 1 views
0

파일의 마지막 줄을 읽으려고합니다. 그런 다음 파일의 처음 두 자리 숫자를 가져 와서 파일에 추가하면 새 제품으로 파일에 쓸 수 있습니다.TypeError : 'int'객체를 str 암시로 변환 할 수 없습니다.

with io.open('/home/jake/Projects/Stock','r+', encoding='utf8' as f: 
    for line in f: 
     if NewProduct == line[3:]: 
      print ("You already sell this product, if you wish to add more stock please return to the menu") 
     else: 
      ProductPrice = input("Input A Price For This Product >> ") 
      ProductAmount = input("How Many Do We Have In Stock >> ") 
      last_line = f.readlines() 
      New = last_line[-1]+int(1) 
      Together = (New, NewProduct) 
      TogetherV2 = (New, ProductPrice) 
      TogetherV3 = (New, ProductAmount) 

이 형식

01 Tomatos 
02 Chocolate 

등으로 ... 난 아직 파일의 처음 두 숫자를 잡기 위해 부품을 추가하지 않은 알고되는 내가 읽고 추가하고있어 파일 , 나는 현재 전체 라인을 잡고 처음 두 숫자에 적응 시키려고했지만 관리하지 못했습니다. 나는 이것이 가능한 복제물이라는 것을 알고 있습니다. 나는 단지 이해할 수 없거나 해결할 솔루션을 만들 수 없습니다. 미리 감사드립니다.

+0

무엇 라인 방금 경우 오류가 – casraf

+0

가리키는? 문자열을 int로 변환하는 방법을 찾고 명시 적으로 변환하십시오 (예 : int ('12 ')). 그 반대도 –

+0

여기서 뭘하려고합니다 :'New = last_line [-1] + int (1)'? –

답변

0

last_line의 내용은 "03 Apples"과 같은 문자열입니다. 해당 문자열에 정수 1을 추가하려고하면 변환 오류가 발생합니다.

가 할, 다른 정수로 추가 할 수있는 ( int 형식으로 변환 명시 적으로 값 부분을 슬라이스하고,하려면이 :

New = int(last_line[-1][:1]) + 1 
관련 문제