fangyuxiong / MyUtils

my utils

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

我的工具

我的工具主要包含自己积累的自动化工具,包括Python爬虫图片处理等等。具体列表:

  • generate_file
    • generateFile
    • generateXML
    • generateStringXML
  • generate_drawables
    • generateAndroidDrawable (Java project)
    • generateDrawables (Python)
    • batchGenerateDrawables (Python)
  • generate_ppt
    • autoGenerateAllPpt
    • generatePpt
  • python_utils
    • countLine
    • getPicture
    • one2multiLine
    • argv_engine

##generate_file 主要是生成(字符型)文件的工具 ###generateFile **作用:**读取旧文件中的所有行,使用设置的字符(串)分割成两段,并在第一段的左边添加left,两段之间添加middle,第二段右边添加right,并保存到新文件中。

使用方法:generate <file> <newFile> [splitRegularExpress] <left> <middle> <right>,默认的分割字符(串)是=,并会忽略使用#开头的行。

例子:

原始文件(file1):

my name = Imdreaming
his name = Toby
#her name = Lucy

使用generate file1 newFile Hey is .生成新文件newFile:

Hey my name is Imdreaming.
Hey his name is Toby.

###generateXML 作用:作用和generateFile**基本相同,生成的文件是具有xml格式的文件。

使用方法:generateXML <file> <new file> [split regular express] <tag>,默认的分割字符(串)是=,并会忽略使用#开头的行。

例子:

原始文件(file2):

item1=Imdreaming
item2=Toby
#item3 = Lucy

使用generateXML file2 newXml item生成新文件newXml:

<item name="item1">Imdreaming</item>
<item name="item2">Toby</item>

###generateStringXML 作用:作用和generateXML**基本相同,tagstring

使用方法:generateStringXML <file> <new file> [split regular express],默认的分割字符(串)是=,并会忽略使用#开头的行。

例子:

原始文件(file3):

item1=Imdreaming
item2=Toby
#item3 = Lucy

使用generateXML file3 newStringXml生成新文件newStringXml:

<string name="item1">Imdreaming</string>
<string name="item2">Toby</string>

##generate_drawables 主要是生成Android drawable的工具 ###generateAndroidDrawable (Java project) **作用:**输入图片或包含图片的文件夹,将输入图片(或文件夹中每张图片)以Android xxhdpi(3倍)为基准进行缩放,并生成Android各种dpi下的图片。

使用方法:bash generateAndroidDrawables.sh <srcFile|srcDir> <destDir> 图片必须是png格式,文件夹中只有以.png结尾的文件才能缩放。

例子:

/Users/Imdreaming/Pictures文件夹下有test.png文件,使用bash generateAndroidDrawables.sh /Users/Imdreaming/Pictures/test.png /Users/Imdreaming/Pictures/res将会在/Users/Imdreaming/Pictures目录下创建res目录,并生成多个文件夹,结构如下:

  • drawable
  • drawable-hdpi
  • drawable-ldpi
  • drawable-mdpi
  • drawable-xhdpi
  • drawable-xxhdpi
  • drawable-xxxhdpi

并会在每一个文件夹(xxxhdpi大小和xxhdpi大小相同)下生成相应大小的test.png图片。 ###generateDrawables(Python)

**作用:**输入图片,生成Android各种dpi下的图片。

使用方法:python generateDrawable.py -p image_path -op out_path [-extra argv]

参数说明:

-p	:	图片路径,任意格式图片,非png图片将被转为png图片
-op	:	输出图片位置,若文件名不已drawable结尾,则会在此路径后新建drawable文件夹
extra:
		-on	:	输出图片名称,如果不设置,将使用原图名称
		-ms	:	输出图片最大大小,即在xxxdpi下的大小,若不设置,将使用原图大小
			格式:100-100
		-as	:	输出图片最大大小的缩放大小,若设置小于xxxdpi,则更大的缩放大小下图片不进行缩放
			可使用:	xxx | xx | x | h | m | l
			若不设置,默认使用'xxx'
		-is	:	能输出的最小缩放大小,若设置大于ldpi,则不会输出更小的缩放图片
			可使用:	xxx | xx | x | h | m | l
			若不设置,默认使用'l'

例子:

/Users/Imdreaming/Pictures文件夹下有test.png文件,使用python generateDrawable.py -p /Users/Imdreaming/Pictures/test.png -op /Users/Imdreaming/Pictures/res -as xx -is m将会在/Users/Imdreaming/Pictures目录下创建res目录,并生成多个文件夹,结构如下:

  • drawable-hdpi
  • drawable-mdpi
  • drawable-xhdpi
  • drawable-xxhdpi (原图大小)
  • drawable-xxxhdpi (原图大小)

并会在每一个文件夹下生成相应大小的test.png图片。 ###batchGenerateDrawables (Python) **作用:**批量生成Android各种dpi下的图片。

使用方法:python batchGenerateDrawables.py <pic dir | pic file> <out dir> [-extra argv]

参数说明:

<pic dir | pic file>	:	包含图片的目录或图片文件,任意格式图片,非png图片将被转为png图片
<out dir>				:	输出文件夹
extra:
	-ic	:	如果设置为true,说明需要生成的是launcher图片,输出图片的最大大小将被设置为 192-192
	-ms	:	输出图片最大大小,即在xxxdpi下的大小,若不设置,将使用原图大小
			格式:100-100
	-as	:	输出图片最大大小的缩放大小,若设置小于xxxdpi,则更大的缩放大小下图片不进行缩放
			可使用:	xxx | xx | x | h | m | l
			若不设置,默认使用'xxx'
	-is	:	能输出的最小缩放大小,若设置大于ldpi,则不会输出更小的缩放图片
			可使用:	xxx | xx | x | h | m | l
			若不设置,默认使用'l'

**例子:**在/Users/Imdreaming/Pictures文件夹下有test1.png,test2.jpg文件,使用python batchGenerateDrawables.py /Users/Imdreaming/Pictures /Users/Imdreaming/Pictures/res -as xx -is m将会在/Users/Imdreaming/Pictures目录下创建res目录,并生成多个文件夹,结构如下:

  • drawable-hdpi
  • drawable-mdpi
  • drawable-xhdpi
  • drawable-xxhdpi (原图大小)
  • drawable-xxxhdpi (原图大小)

并会在每一个文件夹下生成相应大小的test1.pngtest2.png图片。


##generate_ppt 生成ppt的工具 ###generatePpt **作用:**读取文件夹中的图片,并将不多于10张图片生成ppt,每张图片构成ppt的一页,并放在正中,高和宽小于等于ppt的高和宽。

使用方法:generatePpt [imageDir] <pptFileName> 默认将ppt保存在Desktop/ppt下。 ###autoGenerateAllPpt **作用:**自动获取某个文件夹下一级文件夹里面的所有图片,并将每个文件夹下的图片(不少于5张,不多于10张)做成一个ppt。


##python_utils 使用Python做的一些小工具

countLine

**作用:**输入文件夹和匹配文件名的字符串,递归的计算文件夹下所有匹配文件的行数,并输出到log文件中。

使用方法:countLine <dir> <fileNameReg>

###getPicture **作用:**获取某些连接下的所有匹配Targetregxs的图片,并分别保存。

**使用方法:**需要自己修改文件中的一些参数。 ###argv_engine 内部有process_argv(argv,keys,offset=-1)函数,函数会根据keys来处理sys.argv数组并返回一个字典,字典中包含keys和sys.argv中对应的值,若sys.argv中没有对应值,key将不存在。函数中会判断sys.argv的长度是否大于offset,若不大于将返回None,在查找key时,若keysys.argv中的位置小于等于offset,此key被忽略。


联系方式:s18810577589@sina.com

About

my utils


Languages

Language:Python 77.0%Language:Java 16.5%Language:Shell 6.2%Language:HTML 0.2%