Неправильная синтаксическая ошибка для "print expr"? - PullRequest
0 голосов
/ 16 сентября 2009
import os

import sys, urllib2, urllib

import re

import time

from threading import Thread

class testit(Thread):

    def _init_ (self):

        Thread.__init__(self)

    def run(self):

        url = 'http://games.espnstar.asia/the-greatest-odi/post_brackets.php'

        data = urllib.urlencode([('id',"btn_13_9_13"), ('matchNo',"13")])

        req = urllib2.Request(url)

        fd = urllib2.urlopen(req, data)

        """while 1:

        data = fd.read(1024)

        if not len(data):

        break

        sys.stdout.write(data)"""

        fd.close();

        url2 = 'http://games.espnstar.asia/the-greatest-odi/post_perc.php'

        data2 = urllib.urlencode([('id',"btn_13_9_13"), ('matchNo',"13")])

        req2 = urllib2.Request(url2)

        fd2 = urllib2.urlopen(req2, data2)

        while 1:

            data2 = fd2.read(1024)

        if not len(data2):

            break

        sys.stdout.write(data2)

        fd2.close()

        print time.ctime()

        print " ending thread\n"

i=-1

while i<0:

current = testit()

time.sleep(0.001)

current.start()

Я получаю сообщение об ошибке с указанием неверного синтаксиса для строки:

print time.ctime()

Пожалуйста, помогите мне.

Ответы [ 2 ]

4 голосов
/ 16 сентября 2009

Это потому, что (по крайней мере в Python 3.0 и выше) печать - это функция.

Использование:

print (time.ctime())

и все должно быть в порядке.

0 голосов
/ 16 сентября 2009

С этой страницы :

CTime (...)

ctime (секунды) -> строка

Преобразование времени в секундах с начала эпохи в строку по местному времени.

Это эквивалентно asctime (местное время (секунды)).

ctime требует аргумента, а вы его не приводите. Если вы пытаетесь узнать текущее время, попробуйте вместо этого time.time(). Или, если вы пытаетесь преобразовать текущее время в секундах в строку по местному времени, вы должны попробовать это:

time.ctime(time.time())
...