猫史档案馆


【Python作品分享】JavaLuancher【作品秀】

用户:lsk666666lsk666666查看:1 回复:1 评论:1 创建时间:2020-05-16T14:59:23


【作品展示】

center_image

 

【作品介绍】

昨天听歌的时候是在是受不了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


回复

上一页1 页 / 共 1下一页
Box3训练师MAXBox3训练师MAX

沙发

点赞0


评论