澳门新浦京娱乐场网站-www.146.net-新浦京娱乐场官网
做最好的网站

js对文件进行重命名_node,Linux关机时执行指定脚

百度了一下,好像从没相关的脚本.并且.各大博客网址都无法一贯导入QAQ.于是指向雏鹰展翅的尺度本身写了叁个.

God

包含Ui Auto Test 、Api Auto Test

  • Ui Auto Test : python /selenium /unitest
  • Api Auto Test: python /urllib2 /requests /unitest

将多少个内容融合到二只了,不领悟应该叫什么名字,故取名字为:God

本文首要给我们介绍了有关利用node.js达成自动生成前端项目组件的相关内容,分享出来供我们参谋学习,下边话不多说了,来一头拜候详细的牵线:

1.关机时实践有个别脚本的现实思路

前言

动用的语言为python

1.入口

本子编撰背景

(1卡塔尔在文件夹/etc/init.d/下创办关机时需求实施的脚本file_name;

近来把博客换了四肢,今日早晨四起就从头捣鼓文件命名难点。hexo的篇章基本都以变化在_post文件夹下,若小说多驾驭后就倒霉管理,所就准备感到文件名:

只领到小说的标题和内容

- Run.py

写这一个小本子的初志是,项目小编增加三个零件太繁琐了,比方自身想要去建设构造二个login的组件,那么本身索要手动去IDE中,创制index.js,login.js,login.html,login.less那八个文件。因为每一种组件都有大器晚成对输出的代码,还要把前边组件的那几行拷贝过来,这种作业的确烦,于是乎写了一个小脚本去自动完结那些功能。

(2卡塔尔分别在文书夹/etc/rc0.d/和/etc/rc6.d/下创办该该脚本文件的链接文件K07file_name:

更改前:

会在剧本运行的目录下生成三个文本夹,文件夹名是当下时刻的时光戳.生成的txt在该文件夹下,以标题名命名.

1.1 命令行运营参数:

python Run.py

PS:本脚本运行条件是nodeV7以上,当明日子2017/07,stable版本照旧V6,最新的node版本为V8.1.3,如要运转,请进级node版本为LTS版本。

sudo ln -s /etc/init.d/file_name /etc/rc0.d/K07file_name
sudo ln -s /etc/init.d/file_name /etc/rc6.d/K07file_name

更改后:

文本名以wordpress.xml为例

import xml.etree.ElementTree as ET
import time
nowTime = str(int(time.time()))
import os

def mkdir(path):
    folder = os.path.exists(path)
    if not folder:  # 判断是否存在文件夹如果不存在则创建为文件夹
        os.makedirs(path)  # makedirs 创建文件时如果路径不存在会创建这个路径

mkdir(nowTime)
tree = ET.parse('wordpress.xml')
rss = tree.getroot()
channel = rss.find('channel')
for item in channel.iter('item'):
    title = item.find('title').text
    content = item.find('{http://purl.org/rss/1.0/modules/content/}encoded').text
    try:
        if(content != None):
            f = open(nowTime   '/'   title   '.txt', 'w')
            f.write(title 'n')
            f.write(content)
            f.close()
    except:
        print(title)
        print(content)
print('end')

转发请表明来源:LucyTime 原作地址:

1.2 通过命令行查看可传唱参数:

python Run.py -h

料想效应

(3卡塔尔在文件夹/var/lock/subsys/下转移与file_name同名的文本

作品生机勃勃共90篇,作为程序猿不容许两个个的去改,得用工具帮作者去达成,那正是用程序帮作者做到如此机械的天职。

1.3 参数详细介绍

  • 暗中认可参数表达

     -l: log        default    : warning      # 定义控制台默认输出日志级别
     -b: brower     default    : phantomjs        # 定义Ui测试默认使用的浏览器
     -m: Main       default    : ui               # 定义默认执行Ui自动化测试脚本
     -r: report     default    : true         # 定义默认生成测试报告
     -d: del_report default    : false            # 定义默认不删除本地生成的测试报告
     -u: backup     default    : false            # 定义本地代码默认不备份
     -e: email      default    : misc         # 定义邮件发送机制为:Misc
     -s: send_email default    : Null         # 定义发送给指定接收邮件人:Null
     -t: url_target default    : wanpinghui.com    # 定义测试脚本的主域名是:www.wanpinghui.com
    

  • 可选参数说明

    -l  [ info   || debug  || error    || warning]
    

    日志品级大小关系为:CGL450ITICAL > E瑞虎RO揽胜极光 > WA索罗德NING > INFO > DEBUG > NOTSET,比如:当前不久记输出品级为:infodebugnotset级其余日记就不会输出

    -b  [ chrome || firfox || phantomjs]
    

    眼下停放3种浏览器driver配置,可依附条件积极采用

    -m  [ ui     || api    || excel    ]
    

    设置当前进行的测量试验脚本:ui:代表试行UItest脚本;api:代表施行api测验脚本;excel:代表通过excel表格传入接口须要参数

    -r  [ true   || false  ]
    

    安装是还是不是变动测验报告

    -d  [ true   || false  ]
    

    安装是或不是删除测量检验报告

    -u  [ true   || false  ]
    

    安装是还是不是备份当前代码

    -e  [ true   || false  || misc     ]
    

    安装发送Email的三种机制:

    • true:一定发送邮件,即假使实行脚本就能够发送邮件;那时扶助钦点发送给某一个人邮件

    • false:一定不发送邮件,即任何动静下,系统都不会实行发送邮件操作

    • misc:混合情势,即:

      1.测量检验脚本运维fail OR error 的时候发送邮件

      2.命令行钦定给某个人发送邮件python Run.py -s AAA@163.com,当时出殡和安葬邮件

      3.脚本试行次数 times= 20 时,发送邮件;(23回大器晚成循环卡塔 尔(阿拉伯语:قطر‎

    -s [ email_path ]
    

    安装邮件发送个特定的人,当中email_path须求超前陈设在Email库中才得以形成参数

    -t  [ url_target  ]
    

    安装脚本试行情形,在那之中url_target支撑:线上情况、线下碰到

在命令行输入:node set login

sudo mkdir -p /var/lock/subsys/
sudo touch /var/lock/subsys/file_name

达成那项职责的前提条件是:文章的日子和文章的标题

2.路线结构

根目录中分成4个文件夹和Run.py

  • Misc: 寄放一些支出进程中的首要记录,以致会用到的风度翩翩部分第三方库类的新闻
  • Output:存放框架运维的经过中保有产出
  • Setup:存放Linux自动配置的shell脚本
  • Src:主要的代码源,贮存全体的生育代码

在conponents文件夹下边自动生成4个文件,并填写index.js , login.js的公文公共内容。

评释:关键字K07仅要求在文书夹/etc/rc0.d/和/etc/rc6.d/内增添,在/etc/init.d/和
/var/lock/subsys/里面不须求加上。

主题材料很简短,文件名正是,时间吧?幸亏hexo在改变作品的时候,文件内容之中已经一时间:

3. Output文件夹

包含:GlobalLogSendReportTestReportTestdirScreenShot

!* 那几个现身文件夹不入库

  • Global:存放的局地大局供给援用的参数,近些日子已txt的花样贮存内容,每趟运营脚本都会更新数据,起到叁当中档存储器的服从
  • Log:贮存系统一发布出的Log日志,记录日志等级为:Debug
  • SendReport:贮存最新变化的测量试验报告
  • TestReport:寄放全部改换的测量试验报告
  • Testdir:贮存须求推行的用例脚本
  • ScreenShot:寄存Ui测量检验脚本中的截图

万生机勃勃输入多层文件如: node set login/foo

2.比喻—在Linux关机时举办脚本snaking616

title: Nodjs重命名文件date: 2017-03-05 08:57:47categories: - nodejs - javascripttags:

4. Src源码文件夹

包含:ConfFunctionLibPlayTestCasePublicMain.py

则会先检验conponents文件夹下是不是存在login,如一纸空文,先创设login文件夹,然后成立foo的机件。本脚本首要选取nodejs的fs模块来完结需要。

本子snaking616内容如下:

所以接下去的事体就鲜明了:

4.1 Conf文件夹

布署文件夹,存放框架中全体可配置参数,当中:

  • ApiCaseSummary.ini:配置Api全体用例
  • Config.ini:框架首要配置文件,全体渠道、全体域名
  • InitParameter.ini:框架早先化配置文件,可铺排本地开拓意况和线上支出条件
  • UiCaseSummary.ini:配置Ui全体用例

fs模块fs模块用于对系统文件及目录举行读写操作,这一次重大选取的fs模块的功效有:

#!/bin/bash 
cd /etc/init.d 
echo "admin"|sudo -S touch eth_set_100 
echo "admin"|sudo -S chmod 777 eth_set_100 
echo "#!/bin/bash 
echo "admin"|sudo -S ethtool -s eth1 autoneg off speed 100 duplex full" > eth_set_100 
  1. 东挪西借时间和小说标题

4.2 Function文件夹

框架方保加利亚(Bulgaria卡塔尔国语件夹,寄放全部措施文件

  • model
  • api_paa_rate.py (7个表操作文件卡塔尔国
  • 。。。
  • Base.py(表操作超类)
  • Chart.py(生成曲线图数据处理工科具)
  • ApiMethod.py
  • Email.py
  • GlobalVariable.py
  • LogMainClass.py
  • Misc.py
  • ReadConfig.py
  • ReadExcel.py
  • Report.py
  • UiMethods.py
  • Xvfb.py

fs.existsSync检查测验文件夹是不是存在,多个合伙的API,只选择五个路径参数,当前版本异步的抛开了。 fs.mkdir 创制文件夹,异步,五个必填参数,路线和回掉。 fs.readFileSync 读取文件,选取四个参数,文件路线。 fs.writeFile写文件,接纳七个参数,文件路线,向文件中写的数目,回掉。

剧本在系统关机时会在文书夹/etc/init.d下自动生成脚本文件eth_set_100,并将以下内容写入该公文内:

代码全体思路:

4.3 Lib文件夹

框架用到的第三方工具存放路线

代码实践

#!/bin/bash 
echo "admin"|sudo -S ethtool -s eth1 autoneg off speed 100 duplex full 

1.读取钦命目录下的文本内容

4.4 TestCase文件夹

存放全体用例,富含Ui测量检验用例、Api测验用例

async function creatCpt() { try { await exists(); // 检测文件夹 await readFile(); // 读取模板内容 await writeFile; //写入组件 } catch  { console.error; }}

切切实实完毕情势如下:

2.生龙活虎行行的分开内容,提取想要的内容

5. PublicMain.py

最注重的框架运维主旨,内部代码运营流程如下:

  • 始发测量检验=》
  • 粮草先行有备无患功底数据=》
  • 创设全部路径=》
  • 团体可进行用例=》
  • 实践测量试验脚本=》
  • 改造测量检验报告=》
  • 出殡测量试验报告=》
  • 拍卖产出数据=》
  • 成功测验

收获命令行参数

js对文件进行重命名_node,Linux关机时执行指定脚本功能实现。(1卡塔尔国张开终端创设脚本文件snaking616

在整行读取内容遭逢一些难题,查了文书档案nodejs好像有 ,但小编还没用直白用了一个偷懒的措施分割内容:

6.目录全景视图:

图片 1

全景视图

node set login为例,想要创造一个login文件夹,首先先要获取命令行个中的login。在nodejs当中,获取命令行参数使用process.argv那条命令归来四个数组,第三个参数为nodejs.exe的采取所在相对路线,第2个参数为前段时间剧本所在的相对路线,之后所输入的参数以空格分隔,如输入node set aaa,得到:

sudo touch /etc/init.d/snaking616
sudo chmod 777 /etc/init.d/snaking616
sudo gedit /etc/init.d/snaking616
data.toString

7. 邮件视图:

图片 2

邮件视图

  • 邮件成效点:
    1.Subject基于条件变化
    2.题名中投运结果
    3.投入线上报告效率

检查测试文件夹是或不是存在

填写以下代码:

如此就得到一个以换行 n 为划分的数组。

let exists = function () { return new Promise => {  { for  { fs.existsSync ? basepath = `${basepath}${a}/` : await mkdir; })}
#!/bin/bash 
cd /etc/init.d 
echo "admin"|sudo -S touch eth_set_100 
echo "admin"|sudo -S chmod 777 eth_set_100 
echo "#!/bin/bash 
echo "admin"|sudo -S ethtool -s eth1 autoneg off speed 100 duplex full" > eth_set_100 

用到的办法:

看清是或不是留存文件夹,假设存在,重新拼接路径继续检查,如荒诞不经则转换文书夹。

(2卡塔 尔(英语:State of Qatar)创立连接文件

readdirSync readFile rename

创制文件夹

sudo ln -s /etc/init.d/snaking616 /etc/rc0.d/K07snaking616
sudo ln -s /etc/init.d/snaking616 /etc/rc6.d/K07snaking616

上边是代码:

node set foo/bar

(3卡塔尔国在文件夹/var/lock/subsys/下转移与snaking616同名的公文

/** @Author: zhuxy* @Date: 2017-03-05 08:05:39* @Last Modified by: zhuxy* @Last Modified time: 2017-03-05 09:23:35*/const fs = require;let path = 'your/path';let files = fs.readdirSync;for(let i = 0; i < files.length; i  ){ fs.readFile(`${path}/${files[i]}`,function{ // console.log.split[1]) // console.log.split[1]) let newname = data.toString[1].split[1]   '-'   data.toString[0].split[1].replace fs.rename(`${path}/${files[i]}`,`${path}/${newname}.md`) })}
let mkdir = function  { return new Promise => { fs.mkdir => { if ; basepath = `${basepath}${a}/` res}
sudo mkdir -p /var/lock/subsys/
sudo touch /var/lock/subsys/snaking616

总结

创制文件夹成功后,重新拼接路线,以便于继续搜寻。

当系统关机时间,在文件夹/etc/init.d下,会自动生成脚本文件eth_set_100。

上述正是那篇作品的全体内容了,希望本文的内容对大家的上学恐怕办事能带给一定的救助,假诺有疑难大家可以留言交流,多谢大家对剧本之家的扶持。

读取模板内容

您或许感兴趣的小说:

  • 详解Linux中的关机和重启命令
  • Linux 使用init命令实现关机,重启,切换形式
  • 详细解释linux 关机命令计算
  • Linux (Ubuntu卡塔尔国休眠,挂起,待机,关机的命令详细介绍
  • 自在通晓Linux关机重启命令
  • linux中shell脚本实现下载完关机
  • php调控linux服务器常用功用 关机 重启 开新站点等
  • Linux助理馆员手册(5)--教导和关机
let reads = [`${basepath}cptTemp/index.js`, `${basepath}cptTemp/cptTemp.js`];//要读取的文件let readFile = function () { return new Promise => { for  { let text = fs.readFileSync; text = text.replace.format .replace; file.push}

每一种生成好的文本都急需二个创设的岁月,及笔者,蕴含文件的出口,甚至class等结构,这一个都是相比较公用的,把她们写在模板当中,然后读抽取来,替换此中的要害词,如时间,组件名等。

变动文书并写入内容

提前创设好要扭转的文书和要读取的文书。如:

let writes = [`${name}.js`, `${name}.html`, `${name}.less`, `index.js`];let writeFile = function  { return new Promise => {  { for  { await fs.writeFile(`${basepath}${a}`, a == writes[3] ? file[0] : a == writes[0] ? file[1] : '',  rej; })}

一时一刻只写了2个要读取的模版,在变幻无常文书从今以后,会将模板中的内容填充进来。

总结

如上就做到了二个自动生成前端项目组件的小脚本了,当然,还是可以世袭扩张,举个例子这一个组件其实还索要再到,组件管理的百般js中去注入,那么些都足以用脚本完结,本文就到此处甘休了。

好了,以上正是那篇小说的全部内容了,希望本文的剧情对大家的就学可能办事能带动一定的支援,如若有疑点我们能够留言调换,多谢我们对剧本之家的支撑。

品种地址:...

本地下载地址:

本文由澳门新浦京娱乐场网站发布于www.146.net,转载请注明出处:js对文件进行重命名_node,Linux关机时执行指定脚