2015-01-04 90 views
-1

我試圖從我的Linux服務器每隔5分鐘運行一次Twitter Python腳本,當我通過SSH手動運行它時,它完美地工作,但是當我嘗試使用cron運行它時,出現此錯誤信息。Python/Linux Cron

Traceback (most recent call last): 
    File "/home/celestia/public_html/monroe/twitter_follow_bot.py", line 222, in <module> 
    auto_follow("love",count=1) 
    File "/home/celestia/public_html/monroe/twitter_follow_bot.py", line 108, in auto_follow 
    dnf_list.append(int(line)) 
ValueError: invalid literal for int() with base 10: '' 

線108 dnf_list.append(int(line))

這裏是源代碼 https://github.com/rhiever/twitter-follow-bot

我的cron作業看起來像這樣 */5 * * * * /usr/local/bin/python2.7 /home/celestia/public_html/elvis/twitter_follow_bot.py

回答

0

重要的是您發佈儘可能多的關於您的問題的信息,包括代碼。

line的值爲''

這可能會在你的程序通過檢查來處理,如果行不追加到列表中前一個空字符串

if line: 
    dnf_list.append(int(line)) 

以上仍可錯誤,如果line不是數字雖然

+0

來源是在這裏:https://github.com/rhiever/twitter-follow-bot –

0

你是從文件ALREADY_FOLLOWED_FILE讀取一條空行,當您嘗試將其轉換爲int時,會導致ValueError。在下面的代碼中,我遇到了int轉換失敗的異常,這應該可以解決您的問題。

with open(ALREADY_FOLLOWED_FILE) as in_file: 
    for line in in_file: 
     try: 
      twitter_id = int(line) 
     except ValueError: 
      continue 
     else: 
      dnf_list.append(twitter_id) 
+0

來源是在這裏:https://github.com/rhiever/twitter-follow-bot –

+0

文件「/家/celestia/public_html/elvis/twitter_follow_bot.py「,第107行 in_file中的行: ^ IndentationError:預計有一個縮進塊 –

+0

@BradHouston刪除了額外的空間 –