我使用pyinstaller将一些代码转换为exe,当我转换它时,urlencode停止工作。它在我转换它之前有效,这是我的代码。
import json, time, os, os.path, re, StringIO
from PIL import Image
from urllib import urlencode
import requests, base58
from BeautifulSoup import BeautifulSoup
import urllib.parse
def search(self, CatalogContext = 1, PageNumber = 1, Subcategory = '', Category = '', SortType = '', AggregationFrequency = '', Keyword = ''):
queryString = {}
for key, value in locals().items():
if (key != 'self' and key != 'queryString' and value != ''):
queryString[key] = value
queryString = urllib.urlencode(queryString)
searchURL = 'https://search.roblox.com/catalog/json?{}'.format(queryString)
try:
request = requests.get(searchURL.format(queryString))
if (request.status_code == 200):
return request.json()
except:
pass
return {}
抱歉,我不得不吃晚餐,但我没有解释。一旦编译成Exe python就说它没有定义。
答案 0 :(得分:0)
我怀疑你已经意外地切换了python版本。
在python 3.x中,urlencode
方法位于urllib.parse
,而不是urllib
。
根据这些页面: