SyntaxError:无法分配给运算符

时间:2015-11-05 21:53:56

标签: python

我编写了以下函数来构建基本URL的URL查询。

start_date='03-03-1997'
end_date='10-04-2015'
yf_base_url ='http://real-chart.finance.yahoo.com/table.csv?s=%5E'
index_list = ['BSESN','NSEI']

url = "http://real-chart.finance.yahoo.com/table.csv?s=%5E{}&a=03&b=3&c=1997&d=10&e=4&f=2015&g=d&ignore=.csv".format('BSESN')

def generate_url(index, start_date, end_date):
        if (index == 'BSESN') or (index == 'NSEI'):
                s_day = start_date.split('-')[0] 
                s_month = start_date.split('-')[1]
                s_year = start_date.split('-')[2]

                e_day = end_date.split('-')[0] 
                e_month = end_date.split('-')[1]
                e_year = end_date.split('-')[2]
                print('{} {} {} {} {} {}'.format(s_day,s_month,s_year,e_day,e_month,e_year))
                url = (yf_base_url.join(index))&a=s_day&b=s_month&c=s_year&d=e_day&e=e_month&f=e_year
                return url 

我收到以下错误。

File "get_data.py", line 21
    url = (yf_base_url.join(index))&a=s_day&b=s_month&c=s_year&d=e_day&e=e_month&f=e_year
SyntaxError: can't assign to operator

我想弄清楚为什么不能这样做。

1 个答案:

答案 0 :(得分:2)

这一行不是有效的Python语法:

url = (yf_base_url.join(index))&a=s_day&b=s_month&c=s_year&d=e_day&e=e_month&f=e_year

您是不是要使用.format函数格式化字符串并以此方式构建网址?你这样做是这样的:

url = (yf_base_url.join(index)) + "&a={}&b={}&c={}&d={}&e={}&f={}".format(s_day, s_month, s_year, e_day, e_month, e_year)