import pycurl, os
def send(file_contents, name):
print "Sending file to pastebin...."
curl = pycurl.Curl()
curl.setopt(pycurl.URL, "http://pastebin.com/api_public.php")
curl.setopt(pycurl.POST, True)
curl.setopt(pycurl.POSTFIELDS, "paste_code=%s&paste_name=%s" \
% (file_contents, name))
curl.setopt(pycurl.NOPROGRESS, True)
curl.perform()
if __name__ == "__main__":
content = raw_input("Provide the FULL path to the file: ")
with open(content, 'r') as f:
send(f.read(), "yournamehere")
print
При чтении файлов используйте оператор with
(это гарантирует, что ваш файл закроется правильно, если что-то пойдет не так).
Нет необходимости иметь функцию main
, а затемназывая этоИспользуйте конструкцию if __name__ == "__main__"
, чтобы ваш скрипт автоматически запускался при вызове (если только при импорте его в качестве модуля).
Для публикации нескольких значений вы можете вручную создать URL: просто разделите другой ключ, пары значений самперсанд (&
).Вот так: key1=value1&key2=value2
.Или вы можете создать его с помощью urllib.urlencode
(как предлагали другие).
РЕДАКТИРОВАТЬ : использование urllib.urlencode
для строк, которые должны быть опубликованы, обеспечивает правильное кодирование содержимого при исходной строкесодержит несколько забавных / скрытых / необычных персонажей.