[Çözüldü]"ValueError: invalid literal for int() with base 10" hatası

Başlatan if, 28 Aralık 2011 - 17:12:35

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

if

import os
username="username"
password="password"
com="wget -q -O - https://"+username+":"+password+"@mail.google.com/mail/feed/atom --no-check-certificate"

temp=os.popen(com)
msg=temp.read()
index=msg.find("<fullcount>")
index2=msg.find("</fullcount>")
fc=int(msg[index+11:index2])

if fc==0:
   print "0 new"
else:
   print str(fc)+" new"


Betiğini python2.7 /home/if/.conky/mail.py olarak çalıştırdığımda Traceback (most recent call last):
  File "/home/if/.conky/mail.py", line 13, in <module>
    fc=int(msg[index+11:index2])
ValueError: invalid literal for int() with base 10: ''
hatasını alıyorum. Python bilgim olmadığı için aramalardan da bir sonuç çıkartamadım. Nedir bu sorunun çözümü?

rutku

Hayallerini kodla ...

uKiriş
Mezgeldek

ekremsenturk


if

@ekramsenturk, print "0"+"new" yaparsam yine aynı hatayı alıyorum: Traceback (most recent call last):
  File "/home/if/.conky/mail.py", line 10, in <module>
    fc=int(msg[index+11:index2])
ValueError: invalid literal for int() with base 10: ''


@rutku'nun yönlendirdiği bağlantıda farklı bir betik sunmuşlar. O betik tatmin etmeyince sağa sola bakındım ve http://ubuntuforums.org/showthread.php?t=680265&highlight=Gmail+revisited konusunu buldum. Buradaki betik perl ile yazılmış. Bu daha çok özellikli olduğundan onu kullanmaya başladım. Kullanmak isteyenlere tavsiye vereyim. Eğer conky'yi conky -c /dosya olarak başlatırsanız HTTP isteği gönderildi, yanıt bekleniyor... HTTP isteği gönderildi, yanıt bekleniyor... 401 Unauthorized
Kimlik tanımlama şeması bilinmiyor.
Yetkilendirme başarısız.
401 Unauthorized
hatası alabilirsiniz. Bunu aşmak için LC_ALL=C conky -c /dosya komutuyla başlatmanız gerek.

Çözülene kadar kalsın bu konu.

hitokiri

Aslında kullanıcı adı ve şifreyi düzgün girince betik bir hata vermiyor ama sayısal değer hata vermesine neden olmuş böyle daha sağlıklı cevaplar verebilir sonuç itibari ile XD
fc = msg[index+11:index2]

if len(fc) < 1 :
    print "Hiçbir bilgi alınamadı.."
elif fc == "0":
   print "0 new"
else:
   print "%s  new" % (fc)

if

@hitokiri, önce File "/home/if/.conky/mail.py", line 15
SyntaxError: Non-ASCII character '\xc3' in file /home/if/.conky/mail.py on line 15, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details
Ben de Türkçe karakterleri kaldırdım. Sonra yine Traceback (most recent call last):
  File "/home/if/.conky/mail.py", line 10, in <module>
    fc=int(msg[index+11:index2])
ValueError: invalid literal for int() with base 10: ''
dedi:) Kullanıcı adı ve şifre doğru, eminim:) Şu anki hali import os
username="***"
password="***"
com="wget -q -O - https://"+username+":"+password+"@mail.google.com/mail/feed/atom --no-check-certificate"

temp=os.popen(com)
msg=temp.read()
index=msg.find("<fullcount>")
index2=msg.find("</fullcount>")
fc=int(msg[index+11:index2])

fc = msg[index+11:index2]

if len(fc) < 1 :
    print "Hicbir bilgi alinamadi.."
elif fc == "0":
   print "0 new"
else:
   print "%s  new" % (fc)
bu.

LC_ALL=C conky -c .conkyrc.deneme
şeklinde başlattım ve hatasız çalıştı:)

hitokiri

Ee geçmiş olsun o zaman madem hâloldu.XD
Aslında şablonlara eklemek lazım şöyle bir dosya daha az sıkıntı yaşamak için :
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# vim: ts=4:sw=4

if

@hitokiri, sağolasın:)O şekilde de aynı hatayı döndürüyor. locale
LANG=tr_TR.UTF-8
LC_CTYPE="tr_TR.UTF-8"
LC_NUMERIC="tr_TR.UTF-8"
LC_TIME="tr_TR.UTF-8"
LC_COLLATE="tr_TR.UTF-8"
LC_MONETARY="tr_TR.UTF-8"
LC_MESSAGES="tr_TR.UTF-8"
LC_PAPER="tr_TR.UTF-8"
LC_NAME="tr_TR.UTF-8"
LC_ADDRESS="tr_TR.UTF-8"
LC_TELEPHONE="tr_TR.UTF-8"
LC_MEASUREMENT="tr_TR.UTF-8"
LC_IDENTIFICATION="tr_TR.UTF-8"
LC_ALL=


Zaman ayıran @rutku, @ekremşenturk ve @hitokiri'ye teşekkür ederim. Konuyu etiketleyip kilitliyorum. Çözümü bulan olursa açılması için istekte bulunabilir.