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)
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
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
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))])
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)) + "个")
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
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
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
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()
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))
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)) ]
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
""" 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'
@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',
def Path_Detail(self): path = frozen_dir.app_path() + r'\download' return path
import frozen_dir TOTAL_DIR = frozen_dir.app_path() CONFIG_ALL_DIR = TOTAL_DIR + r'\Config_All'
#!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)
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='):]
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)
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
#!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()