예제 #1
0
 def Path_Detail(self):
     text = Text(self.root, width=30, height=8)
     text.pack()
     text.place(x=0, y=0)
     path = frozen_dir.app_path() + r'\download'
     ustr = "%s"%path
     text.insert(INSERT, ustr)
예제 #2
0
def getIPList():
    ipList = []
    path = os.path.abspath(frozen_dir.app_path()) + '/.iplist'
    try:
        for line in open(path):
            ipList.append(line)
    except:
        return []
    return ipList
예제 #3
0
def search(filename):
    #path = os.path.abspath(os.path.dirname(__file__)) + '/share'
    path = os.path.abspath(frozen_dir.app_path()) + '/share'
    #print(path)
    for root, dirs, files in os.walk(path):
        for file in files:
            #print(file)
            if str(file) == filename:
                return os.path.join(root, file)
    #若未找到该文件,则返回None
    return None
예제 #4
0
def readTime() -> int:
    with open(frozen_dir.app_path() + '\\data\\cook.csv', 'r') as f:
        lines = f.readlines()

        buffLine = lines[1]
        cookBuff = [
            float(buffLine.split(",")[i].strip().strip('%')) / 100
            for i in range(len(buffLine.split(",")))
        ]

        return sum(
            [24 * 60 * 60 / (1 - cookBuff[i]) for i in range(len(cookBuff))])
예제 #5
0
def main(consTime):
    foodList = model.readFood()

    c_list = list()
    consume_list = list()
    time_list = list()
    b_list = model.readFarm()

    for i in range(6):
        consume_list.append(list())

    for food in foodList:
        c_list.append(-food.price)
        for i in range(6):
            consume_list[i].append(food.getConsumption(i))
        time_list.append(food.time)

    if consTime:
        consume_list.append(time_list)
        b_list.append(model.readTime())

    V_NUM = len(foodList)
    variables = [
        pulp.LpVariable(foodList[i].name, lowBound=0, cat=pulp.LpInteger)
        for i in range(0, len(foodList))
    ]
    # 目标函数
    c = c_list
    objective = sum([c[i] * variables[i] for i in range(0, V_NUM)])
    # 约束条件
    constraints = []

    for i, con in enumerate(consume_list):
        constraints.append(
            sum([con[i] * variables[i] for i in range(0, V_NUM)]) <= b_list[i])

    prob = LpProblem("swy_prob", LpMinimize)
    prob.addVariables(variables)
    for cons in constraints:
        prob.addConstraint(cons)
    prob.setObjective(objective)

    startTime = time.time()
    prob.solve(solver=COIN_CMD(path=frozen_dir.app_path() + "\\cbc.exe"))
    endTime = time.time()

    print("计算完成,用时" + str((endTime - startTime) / 1000) + "秒")
    print("最大盈利" + str(-value(objective)) + "贝币")

    for i, var in enumerate(variables):
        if value(var) != 0:
            print("制作 " + foodList[i].name + " " + str(value(var)) + "个")
예제 #6
0
    def wrapper(*args, **kwargs):
        try:
            try:
                funcStr = "[%s %s] 执行语句 %s(" % (
                    getCurrentDate(), getCurrentTime(), func.__name__)
                if args:
                    for count, string in enumerate(args):
                        if count == 0:
                            continue
                        if count == 1:
                            funcStr += "'%s'" % string if isinstance(
                                string, str) else "%s" % str(string)
                        else:
                            funcStr += ", '%s'" % string if isinstance(
                                string, str) else ", %s" % str(string)
                if kwargs:
                    for key in kwargs.keys():
                        addStr = ", %s='%s'" % (key, kwargs[key])
                        funcStr += addStr
                funcStr += ")"
                auto.Logger.WriteLine(funcStr)

                return func(*args, **kwargs)
            except Exception as e:
                if "projectName" in cf._global_dict.keys():
                    projectName = cf.get_value("projectName")
                    # picPath = os.path.dirname(os.path.dirname(os.path.abspath(_ _file__))) \
                    #           + "\\pictures\\%s" %projectName
                    picPath = "%s\\pictures\\%s" \
                              %(frozen_dir.app_path(), projectName)

                    dirName = createCurrentDateDir(picPath)
                    capture_screen(dirName)

                    # err = "\n[错误行] %s\n[报错文件] %s\n[错误信息] %s\n" \
                    #       % (e.__traceback__.tb_lineno,
                    #          e.__traceback__.tb_frame.f_globals["__file__"], e)
                    # auto.Logger.WriteLine(err, auto.ConsoleColor.Cyan, writeToFile=True)

                funcName = func.__name__
                err = cf.get_value("err")
                if projectName:
                    errInfo = "\n[工程名称] %s\n%s\n[关键字] %s\n[异常信息] %s\n" \
                              %(projectName, err, funcName, repr(e))
                else:
                    errInfo = "\n%s\n[关键字] %s\n[异常信息] %s" \
                              %(err, funcName, repr(e))
                auto.Logger.WriteLine(errInfo)
                raise CNBMError(errInfo)
        except CNBMError as err:
            raise err
예제 #7
0
class DoubanPipeline(object):
    apppath = app_path() + r'\douban1.csv'

    def open_spider(self, spider):
        if os.path.exists(self.apppath):
            os.remove(self.apppath)
        print(self.apppath)

    def process_item(self, item, spider):
        print(self.apppath)
        with open(self.apppath, 'a', encoding='utf-8') as f:
            f.write(item['ranking'] + '\t' + item['movie_name'] + '\t' +
                    item['score'] + '\t' + item['score_num'] + '\n')

        return item
예제 #8
0
def readFood() -> list:
    ret = list()
    with open(frozen_dir.app_path() + '\\data\\foods.csv', 'r') as f:
        for line in islice(f, 1, None):
            split = line.split(',')
            name = split[0]
            # consumption = [int('0'+split[1]), int('0'+split[2]), int('0'+split[3]),
            #                int('0'+split[4]), int('0'+split[5]), int('0'+split[6])]
            consumption = [int('0' + split[i]) for i in range(1, 7)]
            price = float(split[7])
            timeStr = split[8]
            minute = int(timeStr.split("m")[0])
            second = int(timeStr.split("m")[1])
            time = minute * 60 + second
            ret.append(Food(name, price, time, consumption))
    return ret
예제 #9
0
파일: main.py 프로젝트: weijiang1994/Tools
 def __init__(self):
     super(MainForm, self).__init__()
     self.setupUi(self)
     self.setWindowTitle('测评软件授权码生成器V1.0')
     self.generate_pushButton.clicked.connect(self.generate)
     self.encrypt_lineEdit.setEnabled(False)
     self.setWindowIcon(QIcon(frozen_dir.app_path() + r'/res/app_icon.png'))
     self.copy_pushButton.clicked.connect(self.copy)
     self.mac_lineEdit.textChanged.connect(self.tran_upper)
     self.setWindowFlags(Qt.WindowCloseButtonHint)
     self.setStyleSheet(STYLE)
     self.hint_label.setVisible(False)
     self.copy_signal.connect(self.dis_hint)
     self.generate_pushButton.setProperty('class', 'Aqua')
     self.copy_pushButton.setProperty('class', 'Aqua')
     th = threading.Thread(target=self.set_mac)
     th.start()
예제 #10
0
def sql(position, type, date, keyword):
    if position == "before":
        sqlcmd = "select * from news where ({}<'{}%' and title like '%{}%')".format(
            type, date, keyword)
    elif position == "at":
        sqlcmd = "select * from news where ({} like '{}%' and title like '%{}%')".format(
            type, date, keyword)
    elif position == "after":
        sqlcmd = "select * from news where ({}>'{}%' and title like '%{}%')".format(
            type, date, keyword)
    try:
        dir = app_path()
        db = sqlite3.connect(dir + r'\RssNews.db')
        cursor = db.cursor()
        process = cursor.execute(sqlcmd)
        result = cursor.fetchall()
        return result
    except sqlite3.OperationalError as e:
        flash('发生错误:{}。第一次查询请先进行信息收集。'.format(e))
예제 #11
0
def readFarm() -> list:
    with open(frozen_dir.app_path() + '\\data\\farm.csv', 'r') as f:
        lines = f.readlines()

        yieldLine = lines[1]
        farmYield = [
            int(yieldLine.split(",")[i])
            for i in range(len(yieldLine.split(",")))
        ]

        buffLine = lines[2]
        farmerBuff = [
            float(buffLine.split(",")[i].strip().strip('%')) / 100
            for i in range(len(buffLine.split(",")))
        ]

        return [
            farmYield[i] * (1 + farmerBuff[i]) * 24
            for i in range(len(farmYield))
        ]
예제 #12
0
def get(filename, filepath, ipaddress, filesize):
	#收到返回的ACK信息后,向第一个传回信息的peer发送get请求
	s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) #创建TCP socket (IPv4)
	s.bind(('0.0.0.0', 16580))
	message = 'get ' + filepath
	port = 16381
	#print(ipaddress)
	s.connect((ipaddress[0], port))	#建立TCP连接
	s.send(message.encode('utf-8'))	#发送get请求
	#download_path = os.path.abspath(os.path.dirname(__file__)) + '/download/'
	download_path = os.path.abspath(frozen_dir.app_path()) + '/download/'
	try:
		#print(download_path + filename)
		curr_size = 0
		print('文件大小共{}bytes'.format(filesize))
		with open(download_path + filename, 'wb') as file:
			while True:
				data = s.recv(65535)
				#print("recv" + str(data))
				if data == b'end' or data == b'':
					print('')
					break
				else:
					#print(data)
					curr_size += len(data)
					file.write(data)
					done = int(50*(curr_size/filesize))
					sys.stdout.write("\r[%s%s]" % ('█' * done, ' ' * (50 - done)))
					sys.stdout.flush()
					if curr_size == filesize:
						print('')
						break
	except Exception as e:
		s.close()
		print(e)
		return False
	#print('finish')
	s.close()
	return True
예제 #13
0
"""
Created on Sat Aug 25 22:41:09 2018
frozen dir
@author: yanhua
@refer: https://blog.csdn.net/weixin_42052836/article/details/82315118
"""

import os 
import sys

def app_path():
    """Returns the base application path."""
    if hasattr(sys, 'frozen'):
        # Handles PyInstaller
        return os.path.dirname(sys.executable)

    return os.path.dirname(__file__)



if __name__ == "__main__":
    """ 外部调用 示例 """
    import frozen_dir
    SETUP_DIR = frozen_dir.app_path()    
    sys.path.append(SETUP_DIR)
    FONT_MSYH = matplotlib.font_manager.FontProperties(
                    fname = SETUP_DIR + r'\data\fonts\msyh.ttf',
                    size = 8)
     
    DIR_HELP_DOC = SETUP_DIR + r'\data\docs'
예제 #14
0
@author: jiangwei
@contact: [email protected]
@time: 2020/5/9 20:09
@desc:
"""
import datetime
import hashlib

from PyQt5.QtCore import QRegExp
from PyQt5.QtGui import QRegExpValidator
from PyQt5.QtWidgets import QMessageBox
import uuid
import frozen_dir
import yaml

SUPER_DIR = frozen_dir.app_path()
ROLE_MAP = {'0': '管理员', '1': '普通用户'}

APP_ICON = SUPER_DIR + r'/res/img/app-icon.png'
DELETE_ICON = SUPER_DIR + r'/res/img/delete.png'
EDIT_ICON = SUPER_DIR + r'/res/img/edit.png'
BORROW_BOOK = SUPER_DIR + r'/res/img/borrow_book.png'
HOME_PAGE = SUPER_DIR + r'/res/img/home.png'
DELAY_TIME = SUPER_DIR + r'/res/img/delay_time.ico'
RETURN = SUPER_DIR + r'/res/img/return.ico'
DEL_RECORD = SUPER_DIR + r'/res/img/delete.ico'
PUSH_RETURN = SUPER_DIR + r'/res/img/push.ico'

BORROW_STATUS_MAP = {'0': '未还', '1': '已还'}
SEARCH_CONTENT_MAP = {
    '书名': 'book_name',
예제 #15
0
    def Path_Detail(self):

        path = frozen_dir.app_path() + r'\download'
        return path
예제 #16
0
import frozen_dir

TOTAL_DIR = frozen_dir.app_path()

CONFIG_ALL_DIR = TOTAL_DIR + r'\Config_All'
예제 #17
0
#!python3
# -*- coding: utf-8 -*-
import re
import frozen_dir
import shutil
from config.DirAndTime import *
from PyInstaller.utils.cliutils.set_version import *


configFile = "version_control.txt"                                  # 版本控制配置文件路径
versionPath = "%s\\versions" %os.getcwd()                           # 备份路径
versionFile = "%s\\version_log.txt" %versionPath                    # 版本日志文件(\dist 目录下)
imgPath = "%s\\image\\app_logo.ico" %frozen_dir.app_path()          # 执行程序图标路径
projectName = os.getcwd().split("\\")[-1]                           # 工程名称

def versionControl(appName, appDesc):
    ''' 发布前写入应用版本信息
    :param appName: 应用名称
    :param appDesc: 应用描述
    '''
    try:
        with open(configFile, "a+", encoding='UTF-8'):
            pass
        with open(configFile, "r+", encoding='UTF-8') as f:
            rawData = f.read()
            assert rawData != "", \
                "版本控制配置文件内容为空,请检查后再发布!"

            # 应用名称
            ProductName = re.findall(r"'ProductName', u\'(.+?)\'", rawData)[0]
            nameList = rawData.split(ProductName)
예제 #18
0
import sys
import os
import datetime
from accounts import api_client_service, ad_config
from ggads import googleads_service

curPath = os.path.abspath(os.path.dirname(__file__))
rootPath = os.path.split(curPath)[0]
sys.path.append(rootPath)

import frozen_dir

curPath = os.path.abspath(os.path.dirname(__file__))
rootPath = os.path.split(curPath)[0]
sys.path.append(rootPath)
appPath = frozen_dir.app_path()
ads_conf = ''

with open(appPath + '/ggads_run.conf', 'r', encoding='utf-8') as fileJson:
    ads_conf = json.load(fileJson)

env = 'dev'
for i in range(len(sys.argv)):
    # print('sys.argv[', i, ']:', sys.argv[i])
    if sys.argv[i].find('segment=') >= 0:
        segment = sys.argv[i][len('segment='):]
        # break
    if sys.argv[i].find('env=') >= 0:
        env = sys.argv[i][len('env='):]

예제 #19
0
파일: UI.py 프로젝트: ParanoiaSYT/Cunning
OPTIONS=[
        '',
        "10mm*10mm(24)",
         "10mm*10mm(28)",
         "16mm*16mm(44)",
]
variable1=StringVar()
variable1.set("None")
sb=ttk.OptionMenu(root,variable1,*OPTIONS)
sb.grid(row=row_design+2,column=6)




## Photo Insertion
fileaddress=frozen_dir.app_path()
photo=PhotoImage(file='%s/cpw.gif'%fileaddress)
# 注意Tkinter只支持gif图片,就算改后缀也没用!

imageLabel=Label(root,image=photo)
imageLabel.grid(row=0,rowspan=3,column=1,columnspan=4,padx=10,pady=5)


## functions of button
def ana():
    e0=float(e1.get())
    s=float(e2.get())/1000
    h=float(e3.get())/1000
    f0=float(e4.get())*1000
    w0=float(e5.get())/1000
    obj=CALC(e0,s,h,f0,w0=w0)
예제 #20
0
import feedparser, re, sqlite3, time
from flask import flash
from frozen_dir import app_path
dir = app_path()


class RssCollector:
    def __init__(self):
        self.db = sqlite3.connect(dir + r'\RssNews.db')
        self.container = []
        self.imf()
        self.worldbank()
        self.adb()
        self.federalreserve()
        self.cbo()
        self.taxfoundtaion()
        self.economist()
        self.eiu()
        self.bruegel()
        self.db_createtable()
        self.data2db()

    def data2db(self):
        i = 0
        flash("信息收集完成,正在写入数据库")
        for item in self.container:
            if self.db_checkedata(item):
                self.db_add_data(item)
                i += 1
            else:
                continue
예제 #21
0
#!python3
# -*- coding: utf-8 -*-
from localSDK.BasicFunc import *
from localSDK.BrowserFunc import *
from localSDK.ParseExcel import *
from config.DirAndTime import *
import config.Globals as cf
import uiautomation as auto
import frozen_dir

auto.uiautomation.DEBUG_EXIST_DISAPPEAR = True
auto.uiautomation.DEBUG_SEARCH_TIME = True
auto.uiautomation.TIME_OUT_SECOND = 10

# dateDir = createCurrentDateDir("%s\log" %parentDirPath)
dateDir = createCurrentDateDir("%s\log" % frozen_dir.app_path())
auto.Logger.SetLogFile("%s\ExecuteLog.txt" % dateDir)
# print(dateDir)

# 保存全局变量”工程名“,并写入日志
cf._init()
projectName = os.getcwd().split("\\")[-1]
cf.set_value("projectName", projectName)
auto.Logger.WriteLine("-----\n[%s %s] 开始执行工程 '%s'" %
                      (getCurrentDate(), getCurrentTime(), projectName))
# 读取工程下日志文件
PF = PublicFunc()
logDict = PF.readFromLog()

browser = PageAction()
win = AppControl()