python实现sublime3的less编译插件示例_python

利用http://tool.oschina.net/less 提供的接口,发送请求进行远程编译.
再将编译好的less,保存为同名后缀为css的文件中.
第一次使用python,代码也是拼拼凑凑的.需要加上线程进行异步请求,但是不会...

复制代码 代码如下:

import sublime, sublime_plugin
import urllib
import json

class exampleCommand(sublime_plugin.TextCommand):
 def run(self, edit):
  file_name=self.view.file_name();
  if file_name.find('.less') == -1:
   print('only .less file can compile to css!!');
   return;

  file_object_from = open(file_name);
  all_the_text = file_object_from.read();
  url = "http://tool.oschina.net/action/less/less_compile";
  data =  all_the_text.encode(encoding='UTF8');

  headers = {'User-Agent':'sublime_plugin'};
  req = urllib.request.Request(url,data,headers);
  response = urllib.request.urlopen(req);
  the_page = response.read();
  css=json.loads(the_page.decode("utf8"))['css'];
  file_object_to = open(self.view.file_name().replace('.less', '.css'), 'w')
  file_object_to.write(css);

  file_object_from.close();
  file_object_to.close();

  print(css);

时间: 2025-01-17 04:49:46

python实现sublime3的less编译插件示例_python的相关文章

Python常用的日期时间处理方法示例_python

#-*- coding: utf-8 -*- import datetime #给定日期向后N天的日期 def dateadd_day(days): d1 = datetime.datetime.now() d3 = d1 + datetime.timedelta(days) return d3 #昨天 def getYesterday(): today = datetime.date.today() oneday = datetime.timedelta(days=1) yesterday =

简化Python的Django框架代码的一些示例_python

尽管Django的流行和普及, 一些开发者仍然认为她是一个过时的web开发框架, 仅仅适合内容丰富的web程序. 然而现在大多数web程序往往不是富内容的, 这似乎让Django看起来不是最佳选择的web框架. 那么让我们花点时间从现在的web开发实践中重新认识下她吧. 简单清晰的Django 一个web框架主要是帮助web程序生成核心的架构, 以便在其他的项目中重用. Django正是以此为基础, 快速构建web程序. Django的核心主要是WSGI程序, 通过处理HTTP请求并返回有意义的

python sys模块sys.path使用方法示例_python

python sys模块包含了与python解释器和它的环境有关的函数,这个你可以通过dir(sys)来查看他里面的方法和成员属性 复制代码 代码如下: import sysprint dir(sys) result: 复制代码 代码如下: ['__displayhook__', '__doc__', '__excepthook__', '__name__', '__package__', '__stderr__', '__stdin__', '__stdout__', '_clear_type

python命令行参数sys.argv使用示例_python

复制代码 代码如下: #diff.py#!/bin/env python import sys if len(sys.argv) <> 3:    print "Usage: " + sys.argv[0] + "file1 file2"    sys.exit(-1) file1 = sys.argv[1]file2 = sys.argv[2] list1 = {}for line in open(file1):    list1[line.split

Python数组条件过滤filter函数使用示例_python

使用filter函数,实现一个条件判断函数即可. 比如想过滤掉字符串数组中某个敏感词,示范代码如下: #filter out some unwanted tags def passed(item): try: return item != "techbrood" #can be more a complicated condition here except ValueError: return False org_words = [["this","is

python fabric实现远程操作和部署示例_python

近期接手越来越多的东西,发布和运维的工作相当机械,加上频率还蛮高,导致时间浪费还是优点多.修复bug什么的,测试,提交版本库(2分钟),ssh到测试环境pull部署(2分钟),rsync到线上机器A,B,C,D,E(1分钟),分别ssh到ABCDE五台机器,逐一重启(8-10分钟) = 13-15分钟其中郁闷的是,每次操作都是相同的,命令一样,要命的是在多个机器上,很难在本机一个脚本搞定,主要时间都浪费在ssh,敲命令上了,写成脚本,完全可以一键执行,花两分钟看下执行结果 直到,发现了fabri

python实现数通设备端口监控示例_python

最近因工作需要,上面要求,每天需上报运维的几百数通设备端口使用情况[],虽然有现成网管监控工具监控设备状态,但做报表,有点不方便,特写了个小脚本. 注:测试运行于ubuntn,需安装snmpwalk工具, 目标数通设备,需做好相关snmp配置 复制代码 代码如下: #/usr/bin/python#coding:utf-8 import os,sysimport refrom pprint import pprint #甯歌鍘傚鏁伴?氳澶嘙IB鍊?MIB = {   'public':{ 

python中mechanize库的简单使用示例_python

复制代码 代码如下: #!/usr/bin/env/ python#coding=utf-8import mechanizeimport cookielib # Cookie Jarcj = cookielib.LWPCookieJar() # Browserbr = mechanize.Browser()br.set_cookiejar(cj) # Browser optionsbr.set_handle_equiv(True)br.set_handle_gzip(True)br.set_ha

树莓派中python获取GY-85九轴模块信息示例_python

先看效果图 GY-85.py: 复制代码 代码如下: #!/usr/bin/python3# -*- coding: utf-8 -*-import cursesfrom time import *from i2clibraries import i2c_itg3205, i2c_adxl345, i2c_hmc5883l #==========================================================#                       GY-8