python2.7 跨文件全局变量的方法-乾颐堂

在使用Python编写的应用的过程中,有时会遇到多个文件之间传递同一个全局变量的情况。文件1:globalvar.py123456789101112#!/usr/bin/env python2.7 class GlobalVar: db_handle = None mq_client = None def set_db_handle(db): GlobalVar.db_handle = db def get_db_handle(): return GlobalVar.db_handle def set_mq_client(mq_cli): GlobalVar.mq_client = mq_cli def get_mq_client(): return GlobalVar.mq_client文件2:set.py1234im...

Python创建单例模式的5种常用方法-乾颐堂

所谓单例,是指一个类的实例从始至终只能被创建一次。方法1如果想使得某个类从始至终最多只有一个实例,使用__new__方法会很简单。Python中类是通过__new__来创建实例的:12345678910111213class Singleton(object):    def __new__(cls,*args,**kwargs):        if not hasattr(cls,'_inst'):            cls._inst=super(Singleton,cls).__new__(cls,*args,**kwargs)        return cls._instif __name__==...

如何使用find命令在Linux中查找文件

LinuxFind命令是Linux系统管理员工具库中最强大的工具之一。Find是一个命令行实用程序,它允许您根据用户给定的表达式搜索目录层次结构中的文件和目录,并对每个匹配的文件应用用户指定的操作。您可以使用find命令根据文件权限,类型,日期,所有权,大小等搜索文件。它还可以与其他工具(如grep或sed)结合使用,以对这些文件执行操作。Linux查找命令语法在讨论如何使用find命令之前,让我们先回顾一下基本语法。find实用程序表达式采用以下形式:find[options][path...][expression]options属性控制符号链接,调试选项和优化方法的处理。  path...属性定义find将搜索文件的起始目录。  expression属性由选项,搜索模式和由运算符分隔的操作组成。 我们来看看以下命令:linuxidc@linuxidc:~$find-L/home/linuxidc/linuxmi/-name"*.js"-execchmod644{};此命令包含一个参数-L(options),它允许find跟随符号链...

Linux常用基础命令整理:关机命令、查看目录下文件命令

整理了一些Linux常用基础命令,欢迎指正。首先记住四个热键,学会这四个键,收益一辈子。Tab 按键---命令补齐功能Ctrl+c 按键---停掉正在运行的程序Ctrl+d 按键---相当于exit,退出Ctrl+l  按键---清屏 1、关机命令:shutdownshutdown参数说明:[-t]在改变到其它runlevel之前,告诉init多久以后关机。[-r]重启计算器。[-k]并不真正关机,只是送警告信号给每位登录者〔login〕。[-h]关机后关闭电源〔halt〕。[-n]不用init而是自己来关机。不鼓励使用这个选项,而且该选项所产生的后果往往不总是你所预期得到的。[-c]cancelcurrentprocess取消目前正在执行的关机程序。所以这个选项当然没有时间参数,但是可以输入一个用来解释的讯息,而这信息将会送到每位使用者。[-f]在重启计算器〔reboot〕时忽略fsck。[-F]在重启计算器〔reboot〕时强迫fsck。[-time]设定关机〔shutdown〕前的时间。  shutd...

关于文件的工具类例子

一.递归获取当前路径下的所有文件,包含所有子文件夹下的文件:packagecom.ncy.xx;importjava.io.File;importjava.util.ArrayList;importjava.util.List;/***文件查找*@authorNCY**/publicclassListFiles{/***@Title:getallfile*@Description:获取当前路径下的所有文件*@authorruby*@returnvoid返回类型*@date2018年1月4日下午2:15:38@throws*/publicstaticList<File>getallfile(Stringpath){List<File>allfilelist=newArrayList<File>();returngetallfile(newFile(path),allfilelist);}/***@Title:getallfile*@Description:获取当前文件夹下的所有文件*@authorruby*@returnvoid返回类型*@date20...
代码星球 代码星球·2021-02-16

Java字符串与文件的互转操作

Java中有时候需要读取一个文本类的文件,将其转换为字符串,然后做进一步处理。Java中没有现成的API方法。 一、字符串转换为文件/***将字符串写入指定文件(当指定的父路径中文件夹不存在时,会最大限度去创建,以保证保存成功!)**@paramres原字符串*@paramfilePath文件路径*@return成功标记*/publicstaticbooleanstring2File(Stringres,StringfilePath){booleanflag=true;BufferedReaderbufferedReader=null;BufferedWriterbufferedWriter=null;try{FiledistFile=newFile(filePath);if(!distFile.getParentFile().exists())distFile.getParentFile().mkdirs();bufferedReader=newBufferedReader(newStringReader(res));bufferedWriter=newBufferedWr...

Java核心知识点 --- 线程中如何创建锁和使用锁 Lock , 设计一个缓存系统

理论知识很枯燥,但这些都是基本功,学完可能会忘,但等用的时候,会发觉之前的学习是非常有意义的,学习线程就是这样子的. Locklock=newReentrantLock();可以参看Lock文档,其使用格式如下:classX{privatefinalReentrantLocklock=newReentrantLock();//...publicvoidm(){lock.lock();//blockuntilconditionholdstry{//...methodbody}finally{lock.unlock()}}}在要用的方法前加上锁,比如写操作,然后在finally中将锁打开.这里,将前文java核心知识点学习----多线程并发之线程同步中的代码改用Lock实现数据同步,改写代码如下:packagecom.amos.concurrent;importjava.util.concurrent.locks.Lock;importjava.util.concurrent.locks.ReentrantLock;/***@ClassName:LockTest*@Descrip...

java核心知识点----创建线程的第三种方式 Callable 和 Future CompletionService

前面已经指出通过实现Runnable时,Thread类的作用就是将run()方法包装成线程执行体,那么是否可以直接把任意方法都包装成线程执行体呢?Java目前不行,但其模仿者C#中是可以的.Callabel接口可以看成是Runnable接口的增强版,只不过其线程执行体call()方法比run方法更加强大罢了:>>call()方法中可以有返回值>>call()方法中可以声明抛出异常.packagecom.amos.concurrent;importjava.util.concurrent.Callable;importjava.util.concurrent.ExecutionException;importjava.util.concurrent.ExecutorService;importjava.util.concurrent.Executors;importjava.util.concurrent.Future;/***@ClassName:CallableAndFuture*@Description:多线程中的Callable和Future学习*@aut...

Xcode添加库文件framework (转)

首先需要了解一下iOS中静态库和动态库、framework的概念首先来看什么是库,库(Library)说白了就是一段编译好的二进制代码,加上头文件就可以供别人使用。什么时候我们会用到库呢?一种情况是某些代码需要给别人使用,但是我们不希望别人看到源码,就需要以库的形式进行封装,只暴露出头文件。另外一种情况是,对于某些不会进行大的改动的代码,我们想减少编译的时间,就可以把它打包成库,因为库是已经编译好的二进制了,编译的时候只需要Link一下,不会浪费编译时间。上面提到库在使用的时候需要Link,Link的方式有两种,静态和动态,于是便产生了静态库和动态库。静态库静态库即静态链接库(Windows下的.lib,linux 和Mac下的.a)。之所以叫做静态,是因为静态库在编译的时候会被直接拷贝一份,复制到目标程序里,这段代码在目标程序里就不会再改变了。静态库的好处很明显,编译完成之后,库文件实际上就没有作用了。目标程序没有外部依赖,直接就可以运行。当然其缺点也很明显,就是会使用目标程序的体积增大。动态库动态库即动态链接库(Windows下的.dll,Linux下的.so,Mac下的...

axios 下载文件

axio请求里必须加  responseType:'blob'参数,如下//下载文件api.download=function(id){returnrequest({url:this.baseUrl+'/download/'+id,method:'get',params:{},responseType:'blob'})}  返回结果里面要做如下处理 .then(res=>{letblob=newBlob([res],{type:res.type})letdownloadElement=document.createElement('a')lethref=window.URL.createObjectURL(blob);//创建下载的链接downloadElement.href=href;downloadElement.download=fileName;//下载后文件名document.body.appendChild(downloadElement);downloadElement.click();//点击下载document.body.remov...
代码星球 代码星球·2021-02-16

SpringBoot整合自定义FTP文件连接池

说明:通过GenericObjectPool实现的FTP连接池,记录一下以供以后使用环境:JDK版本1.8框架:springboot2.1文件服务器:Serv-U1.引入依赖<!--ftp文件上传--><dependency><groupId>commons-net</groupId><artifactId>commons-net</artifactId><version>3.3</version></dependency><!--自定义连接池--><dependency><groupId>org.apache.commons</groupId><artifactId>commons-pool2</artifactId><version>2.4.2</version></dependency>2.创建ftp.propertiesftp.Host=192.168.xx.xx本...

springboot ResponseEntity<byte[]> 下载文件 byte 都变成base64

 因为springboot消息转换器,全部将数据转换为json格式,包括文件的byte数据关于springboot的消息转换器见:https://www.jianshu.com/p/ffe56d9553fd解决方案如下: @ConfigurationpublicclassCustMvcConfigextendsWebMvcConfigurationSupport{@AutowiredprivateFastJsonHttpMessageConverterfastJsonConverter;@OverrideprotectedvoidconfigureMessageConverters(List<HttpMessageConverter<?>>converters){super.configureMessageConverters(converters);converters.add(newByteArrayHttpMessageConverter());//ByteArrayHttpMessageConverter必须加在前面,处理byte数据...

PDF.js 分片下载的介绍2:分片下载demo

上一个章节,简要说了以下分片下载的几个特性。今天主要用示例说明一下pdf.js分片下载。服务器环境:php7.2nginx1.14ubuntu18.04测试浏览器:谷歌浏览器70.0.3538.110(第一个场景,直接使用pdf文件1.1代码如下:注意路径使用的是pdf文件的物理路径$filePath=‘…/doc/big.pdf’;这里是举例,这样作有一个明显的缺点,就是容易被盗链getDocument方法中的rangeChunkSize参数,就是设置分块大小,默认是64k,可以修改这个数字,来改变这个例子使用的1664k,1m左右来分片,方便测试。您可以根据具体情况,来调整PDFJS.getDocument({url:url,rangeChunkSize:6553616,disableAutoFetch:0}).<html><head><title>pdf.js展示1,上一页,下一页</title></head><h1>PDF.jsPrevious/Nextexample</h1><div&g...

yum install --downloadonly 下载依赖包到本地 但不安装

 如果手动去一个个找依赖是很困难的,即便已经知道名字、版本,下面就依赖系统自带的命令完成该步骤以java为例,其他安装包只要替换包名yuminstall--downloadonly--downloaddir=/home/javajava...
首页上一页...4243444546...下一页尾页