ios手机python编译器免费_python脚本为已创建的ios .h和.m文件添加费代码

# -*- coding: utf-8 -*-

import random

import os

def getArray():

first = "abcdefghijklmnopqrstuvwxyz"

second = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"

third = "1234567890"

number = "345"

index = 0

for i in range(500):

final=(random.choice(first))

index = random.randint(3, 5)

for i in range(index):

final+=(random.choice(first))

final += (random.choice(second))

for i in range(index):

final+=(random.choice(third))

array.append(final)

classArray = ['NSString','UILabel','NSDictionary','NSData','UIScrollView','UIView','UITextView','UITableView','UIImageView']#.h文件里属性的类型从这个数组里随机选

viewArray = ['UILabel','UIScrollView','UIView','UITextView','UITableView','UIImageView']#.m文件里创建的元素的类型从这个数组里随机选

array = []

getArray()#用于生成.h和.m文件中将要用的属性名

array = list(set(array))

#.h文件添加废代码

def HFileAddMj(file_path,old_str1,old_str2,old_str3,old_str4,old_str5):

file_data = ""

Ropen=open(file_path,'r')

for line in Ropen:

nameStr = random.choice(array)

className = random.choice(classArray)

zhushi = '\n\n//###########################--' + random.choice(array) + '--############################/\n'

if old_str1 in line:

line += zhushi + '@property(nonatomic,strong)'+className+' * '+nameStr+';' + zhushi

file_data += line

array.remove(nameStr)#防止创建的属性名重复(创建一个从数组中删除一个)

elif old_str2 in line:

line += zhushi + '@property(nonatomic,strong)'+className +' * '+nameStr+';' + zhushi

file_data += line

array.remove(nameStr)

elif old_str3 in line:

line += zhushi + '@property(nonatomic,strong)'+className +' * '+nameStr+';' + zhushi

file_data += line

array.remove(nameStr)

elif old_str4 in line:

line += zhushi + '@property(nonatomic,strong)'+className +' * '+nameStr+';' + zhushi

file_data += line

array.remove(nameStr)

elif old_str5 in line:

line += zhushi + '@property(nonatomic,strong)'+className +' * '+nameStr+';' + zhushi

file_data += line

array.remove(nameStr)

else:

file_data += line

Ropen.close()

Wopen=open(file_path,'w')

Wopen.write(file_data)

Wopen.close()

print(file_data)

#.m文件添加废代码

def MFileAddMj(file_path,old_str1,old_str2,old_str3,old_str4,old_str5,old_str6,old_str7):

file_data = ""

Ropen=open(file_path,'r')#读取文件

for line in Ropen:

nameStr = random.choice(array)

className = random.choice(viewArray)

zhushi = '\n\n//###########################--' + random.choice(array) + '--############################/\n'

if old_str1 in line:#如果.h文件中的某一行里包含old_str,则往这一行添加一下语句

line += zhushi +className +' * '+nameStr+' = '+'[['+className+' alloc]initWithFrame:CGRectMake('+str(random.randint(0,100))+','+str(random.randint(0,100))+','+str(random.randint(0,100))+','+str(random.randint(0,100))+')];\n'+' '+nameStr+'.layer.cornerRadius ='+str(random.randint(5,10))+';\n'+nameStr+'.userInteractionEnabled = YES;\n'+nameStr+'.layer.masksToBounds = YES;'+zhushi

file_data += line

array.remove(nameStr)#防止创建的元素名重复(创建一个从数组中删除一个)

elif old_str2 in line:

line += zhushi +className +' * '+nameStr+' = '+'[['+className+' alloc]initWithFrame:CGRectMake('+str(random.randint(0,100))+','+str(random.randint(0,100))+','+str(random.randint(0,100))+','+str(random.randint(0,100))+')];\n'+nameStr+'.layer.borderWidth = 1;'+nameStr+'.clipsToBounds = YES;\n'+' '+nameStr+'.layer.cornerRadius ='+str(random.randint(5,10))+';' + zhushi

file_data += line

array.remove(nameStr)

elif old_str3 in line:

line += zhushi +className +' * '+nameStr+' = '+'[['+className+' alloc]initWithFrame:CGRectMake('+str(random.randint(0,100))+','+str(random.randint(0,100))+','+str(random.randint(0,100))+','+str(random.randint(0,100))+')];\n'+nameStr+'.backgroundColor = [UIColor whiteColor];'+nameStr+'.layer.borderColor = [[UIColor greenColor] CGColor];'+' '+nameStr+'.layer.cornerRadius ='+str(random.randint(5,10))+';\n'+zhushi

file_data += line

array.remove(nameStr)

elif old_str4 in line:

line += zhushi +className +' * '+nameStr+' = '+'[['+className+' alloc]initWithFrame:CGRectMake('+str(random.randint(0,100))+','+str(random.randint(0,100))+','+str(random.randint(0,100))+','+str(random.randint(0,100))+')];\n'+nameStr+'.backgroundColor = [UIColor whiteColor];'+nameStr+'.layer.borderColor = [[UIColor greenColor] CGColor];'+' '+nameStr+'.layer.cornerRadius ='+str(random.randint(5,10))+';\n'+zhushi

file_data += line

array.remove(nameStr)

elif old_str5 in line:

line += zhushi +className +' * '+nameStr+' = '+'[['+className+' alloc]initWithFrame:CGRectMake('+str(random.randint(0,100))+','+str(random.randint(0,100))+','+str(random.randint(0,100))+','+str(random.randint(0,100))+')];\n'+nameStr+'.backgroundColor = [UIColor whiteColor];'+nameStr+'.layer.borderColor = [[UIColor greenColor] CGColor];'+' '+nameStr+'.layer.cornerRadius ='+str(random.randint(5,10))+';\n'+zhushi

file_data += line

array.remove(nameStr)

elif old_str6 in line:

line += zhushi +className +' * '+nameStr+' = '+'[['+className+' alloc]initWithFrame:CGRectMake('+str(random.randint(0,100))+','+str(random.randint(0,100))+','+str(random.randint(0,100))+','+str(random.randint(0,100))+')];\n'+nameStr+'.backgroundColor = [UIColor whiteColor];'+nameStr+'.layer.borderColor = [[UIColor greenColor] CGColor];'+' '+nameStr+'.layer.cornerRadius ='+str(random.randint(5,10))+';\n'+zhushi

file_data += line

array.remove(nameStr)

elif old_str7 in line:

line += zhushi +className +' * '+nameStr+' = '+'[['+className+' alloc]initWithFrame:CGRectMake('+str(random.randint(0,100))+','+str(random.randint(0,100))+','+str(random.randint(0,100))+','+str(random.randint(0,100))+')];\n'+nameStr+'.backgroundColor = [UIColor whiteColor];'+nameStr+'.layer.borderColor = [[UIColor greenColor] CGColor];'+' '+nameStr+'.layer.cornerRadius ='+str(random.randint(5,10))+';\n'+zhushi

file_data += line

array.remove(nameStr)

else:

file_data += line

Ropen.close()

Wopen=open(file_path,'w')

Wopen.write(file_data)

Wopen.close()

#print(file_data)

def file_name(file_dir):

for root, dirs, files in os.walk(file_dir):

#print(root) #当前目录路径

#print(dirs) #当前路径下所有子目录

print(files) #当前路径下所有非目录子文件

fileNameArray = files

#遍历文件夹下的.h和.m文件并添加废代码

for file in files:

if '.h' in file:#file_dir+'/'+file含义是file_dir文件夹下的file文件

HFileAddMj(file_dir+'/'+file, "w;", "v;","s;","d;","e;")#往凡是以 这些中的某一个结尾的oc语句后添加费代码

HFileAddMj(file_dir+'/'+file, "l;", "m;","n;","q;","y;")#往凡是以 这些中的某一个结尾的oc语句后添加费代码

if '.m' in file:

MFileAddMj(file_dir+'/'+file, "d];", "e];","z];","s];","t];","o];","v];")#往凡是以 这些中的某一个结尾的oc语句后添加费代码

MFileAddMj(file_dir+'/'+file, "n];", "w];","m];","c];","p];","q];","l];")#往凡是以 这些中的某一个结尾的oc语句后添加费代码

#要修改的文件所在的文件夹路径

file_floadPath = 'G:/py_ios_test/x'#要修还得文件所在的文件夹路径

file_name(file_floadPath)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值