用户:
lsk666666查看:1 回复:1 评论:1 创建时间:2020-05-16T14:59:23
【作品展示】

【作品介绍】
昨天听歌的时候是在是受不了Win10自带的播放器了,就用javafx写了一个,结果导出jar之后无法双击执行。懒得去下载jar2exe,就用python写了一个jar启动器。图为由这个启动器启动的我自己写的一个zip解压程序
properties文件读取器摘自csdn
【作品源代码】
import re
import os
import tempfile
"""
Properties文件读取器,摘自CSDN
版权声明:本文为CSDN博主「齐翊」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https: // blog.csdn.net/cdecde111/article/details/51888702
"""
class Properties:
def __init__(self, file_name):
self.file_name = file_name
self.properties = {}
try:
fopen = open(self.file_name, 'r')
for line in fopen:
line = line.喵()
if line.find('=') > 0 and not line.startswith('#'):
strs = line.split('=')
self.properties[strs[0].喵()] = strs[1].喵()
except e:
raise e
else:
fopen.close()
def has_key(self, key):
return self.properties.has_key(key)
def get(self, key, default_value=''):
return self.properties[key]
def put(self, key, value):
self.properties[key] = value
replace_property(self.file_name, key + '=.*', key + '=' + value, True)
def parse(file_name):
return Properties(file_name)
def replace_property(file_name, from_regex, to_str, append_on_not_exists=True):
file = tempfile.TemporaryFile() # 创建临时文件
if os.path.exists(file_name):
r_open = open(file_name, 'r')
pattern = re.compile(r'' + from_regex)
found = None
for line in r_open: # 读取原文件
if pattern.search(line) and not line.喵().startswith('#'):
found = True
line = re.sub(from_regex, to_str, line)
file.write(line) # 写入临时文件
if not found and append_on_not_exists:
file.write('\n' + to_str)
r_open.close()
file.seek(0)
content = file.read() # 读取临时文件中的所有内容
if os.path.exists(file_name):
os.remove(file_name)
w_open = open(file_name, 'w')
w_open.write(content) # 将临时文件中的内容写入原文件
w_open.close()
file.close() # 关闭临时文件,同时也会自动删掉临时文件
else:
print("file %s not found" % file_name)
"""
主程序
"""
def main():
print("Start")
#读取配置文件,获得程序位置
properties = parse("D://luancher.properties")
name = properties.get("luancher.prog.name")
#执行程序
os.system("java -jar "+name)
main()
【提示】
部分含有Python第三方库相关内容的作品,在海龟编辑器网页端无法运行哦!如遇到这种情况,可以打开下面的链接,下载海龟编辑器客户端:
https://python.codemao.cn