精华内容
下载资源
问答
  • TS助手v3.60_Patched_网页.ts文件下载转码播放工具 TS助手是一款非常好用的一体化TS工具,功能非常的齐全,包括TS下载、TS解密合并、TS分割、TS加密和视频播放等多个功能,界面简单直观,基本上只需要简单的几个操作...
  • 经常在微信里看到一些人分享的小视频,都是在线网址的形式,不使用手机...TS助手可以在线分析m3u8文件,并下载所有的视频文件,还可以把下载的文件合成为mp4。 ###########输入任意注册码即可跳出真码,重启注册成功
  • TS的全称则是Transport Stream,即传输流,DVD节目中的MPEG2格式,是MPEG2-PS,MPEG2-TS格式...正因为如此,很多网友遇到这种TS传输流的视频,就有点束手无策了,今天给大家带来的这款TS助手可以轻松帮大家解决视频...

    TS的全称则是Transport Stream,即传输流,DVD节目中的MPEG2格式,是MPEG2-PS,MPEG2-TS格式的特点就是要求从视频流的任一片段开始都是可以独立解码的,m3u8是一个TS切片列表文件,它记录视频的每个切片的时长与顺序 。现主流视频网站都采用这种模式。

    正因为如此,很多网友遇到这种TS传输流的视频,就有点束手无策了,今天给大家带来的这款TS助手可以轻松帮大家解决视频下载问题。为了让大家更好地使用这款软件,一些技术上的操作还是必须要知道的,下面开始讲解。

    怎么得到视频网站中的m3u8文件呢?

    首先,需要安装Google Chrome浏览器

    输入网址:(要下载的视频网站地址)

    打开开发者工具后,选择->Netword 列表中找  m3u8的地址,如下图:

    找到带m3u8文件的实际地址后,点右键复制地址!如果已经播放了,找不到就把浏览器刷新一下再找!

    打开软件:

    填写好基本信息,点击 【一键下载解密合并 】这样就下载下来了!

     

    打开下载的目录,所有文件都下下来了!MP4文件可以直接播放了。

    大家可能不知道该下载什么来测试,这里有2个m3u8链接给大家测试吧~

    你懂得:https://dadi-yun.com/20190305/1826_4d2ec220/index.m3u8

    倚天屠龙记:http://bili.meijuzuida.com/20190322/9153_ee4f0990/index.m3u8

    下载地址

    城通网盘:https://carrot.ctfile.com/fs/11269771-356491639

    蓝奏云:https://www.lanzous.com/i3kbkba

     

    注:本文转载自 胡萝卜周 的博客 http://www.carrotchou.blog/22043.html

    展开全文
  • TS助手3.52(压缩包).7z

    2019-06-11 17:44:34
    TS文件解码TS文件解密TS流批量下载和解码工具
  • 此软件可以实现TS下载,TS解密合并,TS转MP4,TS视频播放,功能强大,分享给有需要的朋友。文档中有下载地址
  • Ts-按键助手的作用就是可帮助简化一下操作。 默认热键键值 ALT Q = 获取鼠标信息,启动热键. ALT W = 获取鼠标信息,停止热键. ALT A = 执行脚本热键.
  • constructor(name:T){ this.name= name } } const MC = new myClass('123') 基础内容告一段落,我们在这里说一下ts的编译指令 由于ts无法在浏览器里解析,所以我们没回书写完ts代码需要用tsc 文件名.ts 进行...

    js简单易上手灵活多变,既是优点,也是缺点,会为上线的代码埋下隐患,简单举“栗”子:

    let a;
    a = 10;
    a = '这是新值';
    

    在js中这样书写是不会报错的,因为js不会对函数的参数类型和个数进行检测,但在项目中如果我们所需的值仅只为数字进行运算如下:

    function sum(a, b){
    	return a + b;
    }
    console.log(sum(12, 34)) // 46
    console.log(sum(12, '34')) // 1234
    

    显然无论我们传数字还是字符串,编辑和测试都不会出现编译错误,但是返回的数据结果却大不一样,这就导致我们在开发大型项目的过程中维护起来非常的头痛。而TS就是在js的基础上增加了类型的判断,所以一切支持js的地方都可以用ts,但值得注意的是,ts是不可直接被解析的,需要转换成js后才可以被解析。可能会有同学问为什么不直接整一套可解析的ts,是因为js就目前而言是不可代替的一门开发语言,在短时间之内添加一套辅助工具是最为这种的办法,也是为了兼容习惯了js的老程序猿。目前而言,ts不是必要的,但近几年一定会全面推广,所以快点学起来吧!
    首先我们在正式使用ts之前,需要先配置好环境,如图:
    ts配置流程图
    首先我们先来认识一下TS基础类型

    • any => 任意类型,相当于放弃了类型校验,没有了ts的使用意义,不推荐使用
    • number => 数字类型
    • string => 字符串类型,包括字符串和模板字符串
    • boolean => 布尔类型,true 、false
    • [] => 数组类型(number[]、string[]、泛型: Array、Array)
    • [string,number,boolean] => 元组类型,必须一一对应
    • enum => 枚举类型
    • void => 表示方法返回空
    • null => 表示值缺失,空对象引用
    • undefined => 未定义
    • never => 其它类型,代表从不会出现的值
    let a: number; // 当a的类型被设定为数字之后,那么a的值便只能是数字类型
    a = 10;
    // a = '字符串类型值'; // 此时a会报错
    
    let a: string = '字符串类型值'; // 声明完变量直接对其进行赋值
    let b = false; // 如果变量的声明和赋值是同步的,TS可以自动对变量的类型进行检测
    // b = 123; // 此时b会报错,上方类型默认为b: boolean;
    

    在书写方面呢,就像c++语言里的字面量方式,也可以给一个变量以多种类型,专业点讲叫联合类型,具体如下:

    // 字面量赋值方式(字面量方式更类似于常量,只能赋值一次)
    let a: 10;
    a = 10;
    // a = 11; // 此时a会报错,只能被赋值以10
    
    let b: 'male' | 'female';
    b = 'male'
    b = 'female'
    // 同理可得 => 
    let c: number | boolean; // 联合类型
    c = 123;
    c = false;
    

    如果当我们没有给变量声明类型时,就会有隐式类型any,由于any类型想当与放弃了类型校验,所以既然我们要用ts,就最好不要用any类型。

    let a = 10;
    // a = '字符串类型值'; // 自动校验a的类型为number
    let b;
    b = false;
    b = 123;
    b = '345'; // 自动校验b的类型为any(隐式类型any)
    

    但是如果我这里有一个变量我也不知道未来会具体给他什么样的值,那就用unknown,我们可以对比来看一下:

    let a: string;
    let b: any;
    let c: unknown;
    // any与unknown均可以赋值任意类型都不会报错,但他们的区别就在于any赋值给已有类型的变量不会报错,而unknown会作为一种未知类型而被限制
    a = b;
    c = b;
    // a = c; // 因为a为string,c为unknown而类型校验不通过
    b = 122 | '345' | false; // 各种类型赋值均不报错
    c = 122 | '345' | false; // 各种类型赋值均不报错
    
    
    // unknown实际上是一个类型安全的any,不能直接赋值给其它变量,如果要赋值,则需先类型一致
    // 方法一:
    if(typeof c === "string") {
    	a = c
    }
    // 方法二:类型断言
    a = c as string; // 断言的两种书写方式
    a = <string>c;
    

    接下来,我们说一下函数的类型:

    // 返回数字类型
    function fun(): number {
    	return 123;
    }
    // 返回多种类型
    function fun(a: boolean): string | number {
    	if(a) {
    		return 521;
    	} else{
    		return '你失去了我';
    	}
    }
    fun(true);
    // 返回空类型
    function fun(): void {
    	console.log('浩浩爱茜茜');
    	// return ;
    	// return undefined;
    	// return null;
    }
    // 没有返回值,报错的时候
    function fun(): never{
    	throw new Error('这里有一个错误');
    }
    

    说完了函数返回值我们再来说一下函数的参数:

    // 设置函数结构的类型声明 (参数:类型)=> 返回值类型
    let f = (a:number,b:number)=> number;
    f = function fun(c1:number,c2:number): number{
    	return 10;
    }
    

    有一种我们不会用到的类型那就是object,为什么这么说呢,在我们的js当中呢,花括号是一个对象,函数是一个对象…万物皆对象,所以在实际应用中,object并不会用到:

    let a = {}; // 声明a是一个对象类型,并且可以指定对象中有哪些属性
    let b = {name: string, age: number};
    b = {name: '茜茜',age: 3};
    // b = {naem: '浩浩', age: 3, mex: '男'}; // 属性只能一一对应
    // 可以通过加?将属性变为非必要属性
    let c = {name: string, age: number, mex?: string};
    c = {name: '茜茜',age: 3};
    c = {name: '浩浩', age: 3, mex: '男'}
    
    // 在开发过程中呢还可能存在的情况是对象中的属性是未知的,比如参数的不确定性,数量不确定,类型不确定,这种情况下则需要添加[propName: string]: any
    let d = {name: string, [propName: string]: any}; // propName是自定义的,非固定
    d = {name: '茜茜'};
    d = {name: '浩浩', age: 3, mex: '男', text:'我的老婆是茜茜'}
    // d = {age: 9, mex: '女', text:'我是无名氏'} // 缺少了必要属性name,所以报错
    

    说完了对象,那就不得不说一下数组,上干货:

    // 类型[] 或者 Array<类型>
    let arr = number[];
    arr = [1,2,3]
    let arr1 = string[];
    arr1 = ['1','2','3']
    // tuple 元组 固定长度的数组
    let arr2 = [string,string,number]
    arr2 = ['1','2',3]
    

    类似元组,我们再来看下枚举:

    // enum 枚举 常用于选择范围有限的内容
    enum Gender{
    	male = 0, // 0->男
    	female = 1 // 1->女
    }
    let i = {name: string,sex: Gender}; // 性别 男|女
    i = {
    	name: '茜茜',
    	sex: Gender.female
    }
    console.log(i.sex === Gender.female) // true
    

    上面我们有说到"|"的用法,那么现在来说一下’&'的使用:

    // 在react语法中呢, || 表示或  &&  表示与 对应的在ts中用单一的 | + &
    // let a: string & number // 实质上这种写法是不存在的,因为没有哪一种类型可以既是字符串又是数字
    let obj: {name: string} & {age: number};
    // obj = {name: '浩浩'} // 因为&表示同时满足所以单写一个属性会报错
    obj = {name: '浩浩', age: 3}
    // 那为什么不直接写let obj: {name: string,age:number}呢?这个&看上去似乎是多此一举,但是在大型的项目开发中会存在这种场景,两组数据有公共的部分,但是数据b包含了数据a的全部属性,这种情况下,我们就可以通过这种方式对已声明的a类型进行补充后使用
    

    现在,我们来说下类型的别名使用:

    // 我们要使用到type关键字
    type myType = 1 | 2 | 3 | 4 | 5;
    let a: myType
    let b: myType
    //b = 6 //因为myType里不包含6所以会报错
    //类型别名呢,就相当于是一个类型的“公共组件”,用于声明公共的类型,可多处复用
    

    与别名相类似的呢,还有接口:

    // 接口主要是用来定义一个类结构,用来定义一个类中应该包含哪些属性和方法
    // 同时也可以当成类型声明去使用
    // -> interface
    type myType{ // 描述一个对象的类型
    	name: string,
    	age: number
    }
    // type myType{ // 用type来声明对象类型如果重名是会报错的
    // 	sex: string,
    // }
    interface myInterface {
    	name: string,
    	age: number
    }
    interface myInterface { // 而接口是可以重名定义
    	sex: string
    }
    let obj={ // 此时数据内容必须满足以上接口定义的全部结构
    	name: '茜茜',
    	age: 3,
    	sex: '女'
    }
    
    // 接口可以在定义类的时候去限制类的结构
    // 接口中所有的属性不能有实际的值,只定义对象而不考虑实际值
    // 接口中所有的方法都是抽象方法,定义类时去实现一个接口的要求规范
    
    interface myInter{
    	name: string,
    	fun(): void
    }
    class MyClass implements myInter{
    	name: string;
    	constructor(name:string){
    		this.name = name;
    	}
    	fun(){
    		console.log('这里是一个函数')
    	}
    }
    

    对象的属性可以被任意修改,这导致了数据的不安全系数增高,例如:age:-38,人的年龄是不会出现负数,为了避免这种情况,就需要用到属性封装,这其中包含了ts的修饰符的知识点:

    // public 修饰的属性可以在任意位置访问或修改 默认值 (你爸的钱,你可以继承花销,你儿子,你孙子都可以)
    // private 私有属性,私有属性只能在类内部使用或修改(你爸的媳妇,你不能叫媳妇)但是可以通过添加方法使得私有属性可以被外部访问(但你可以叫妈)
    // protected 受保护的属性,只能在当前类和子类中访问或修改,实例中不可以访问(基因里面的东西无法通过外界来更改,只有基因内部的突变)
    
    class Person{
    	name: string;
    	age: number;
    	
    	constructor(name:string,age:number){
    		private this._name=name;
    		private this._age=age;
    	}
    	//TS中属性存储器
    	get name(){
    		return this._name;
    	}
    	set name(val: string){
    		this._name=val;
    	}
    	get age(){
    		return this.age;
    	}
    	set age(val: string){
    		if(val>=0){ // 通过函数方法来改变就可以增加对数据的限制
    			this._age=val;
    		}
    		else {
    			console.log('输入错误,请重新输入')
    		}
    	}
    }
    const pre=new Person(name:'浩浩',age: 4)
    pre.age = 3
    console.log(pre) // {name:'浩浩',age:3}
    

    最后,我们来说一说泛型:

    // 在定义函数或类时,会遇到类型不明确就可以使用泛型
    function fun<T>(a:T):T{
    	return a;
    }
    // 可以直接调用具有泛型的函数
    let r=fun(10)// 不指定泛型,ts可以自动对类型进行推断
    let r2=fun<string>('这是一串字符串') // 指定泛型
    
    // 泛型可以同时指定多个
    function fun2<T,K>(a:T, b:K):T{
    	console.log(b);
    	return a;
    }
    fun2<number,string>(123,'345')
    
    // 泛型加接口约束
    interface Inter{
    	length: number;
    }
    function fun3<T extends Inter>(a:T): number{
    	return a.length
    }
    class myClass<T>{
    	name:T;
    	constructor(name:T){
    		this.name= name
    	}
    }
    const MC = new myClass<string>('123')
    

    基础内容告一段落,我们在这里说一下ts的编译指令

    由于ts无法在浏览器里解析,所以我们没回书写完ts代码需要用tsc 文件名.ts 进行内容的转js,这就使得非常繁琐枯燥,为了更直观的查看我们编写的效果,可以使用tsc 文件名.ts -w来监听我们ts文件的编译,但只会对当前文件进行监听;这就显得很鸡肋,如果要自动监听全部的ts文件,则需要先使用tsc --init生成一个tsconfig.json的配置文件,再使用tsc -w即可监视所有文件
    这里我们再说一下tsconfig.json文件内部配置的指令:

    // 这里是tsconfig.json文件内部
    /*
    include用来指定那些ts文件需要被编译 ** -> 任意路径 * -> 任意文件
    exclude用来指定那些ts文件不需要被编译 默认值是["node_modules","bower_components","jspm_packages"],仅为默认值时可以直接忽略exclude
    */
    {
    	"include": [
    		'./src/**/*',
    		'其它任意路径'
    	]
    	"exclude":[
    		
    	],
    	"compilerOptions": { //重点 编译器的配置选项
    		"target": "ES3", //ts被编译的es版本 esnext(最新版本)
    		"module": "commonjs", //要使用的模块化规范
    		"lib": [], // 指定项目中要用到的库 eg:["dom"]
    		"outDir": "./",  // 指定编译后的文件输出所在目录
    		"outFile": "./",  // 将编译后的代码合并到一个文件里 这里要注意的是如果代码里有模块化引入文件的内容需要对module配置对应的规范才能进行正常的编译
    		"allowJs": true,  // 是否对js文件进行编译
    		"checkJs": true,   // 是否检查js代码符合规范
    		"removeComments": true, // 是否移除注释
    		"noEmit": true, // 不生成编译后的文件
    		"noEmitOnError": true, // 当发生错误时候不生成编译后的文件
    		"strict": true, // 所有严格模式的总开关
    		"alwaysStrict": true, // 用来设置编译后的文件是否采用严格模式
    		"noImplicitAny": true,  // 禁止隐式的any类型
    		"noImplicitThis": true,  // 禁止不明确类型的this
    		"strictNullChecks": true, // 禁止空值
    	}
    }
    

    生成package.json文件使用命令 npm init -y

    展开全文
  • TypeScript对象访问助手 帮助解决类型安全,深度对象访问(或部分访问)的问题,这种问题在最近的TypeScript版本中成为可能。 在lodash.get使用lodash.get (快速,经过战斗测试,可靠) 尽可能增加类型安全性 ...
  • 各种打字稿助手功能和实用程序类型 产品特点 noUncheckedIndexedAccess支持 noUncheckedIndexedAccess编译器标志是史诗般的,但仍有改进的空间。 例如,以下问题: if ( foo . length > 2 ) { const bar : string...
  • 这是受启发的,它发明了将URL助手导出到JavaScript的好主意。 用法 在您的lib/tasks/ts_routes.rake : namespace :ts do TS_ROUTES_FILENAME = "javascripts/generated/routes.ts" desc "Generate #{ TS_ROUTES...
  • 玩机软件免责 【特别声明】所有软件皆来源于网上收集整理,仅供... 猜您喜欢一款车载音乐助手软件,整合了当前多个著名车载电台的音乐资源一款功能非常强大的图像处理软件让手机提速百分之300又一款支持双系统的影视APP

    4648a91451245d20596fa6a55233e66b.gif

    玩机软件免责 

    【特别声明】所有软件皆来源于网上收集整理,仅供学习与交流技术,不得用作其它用途,如有侵犯你的权益,请联系我们,我们将于24小时内进行删除,谢谢你的配合!

            如果您还在纠结不知道高清视频文件格式怎么转换,不妨下载使用这款WonderFox HD Video Converter Factory Pro(高清视频转换工厂),可以将您的视频转换为任意格式并支持高清播放。

    830bb5ace52c3556ead42784bca53419.png

    基本简介

      WonderFox HD Video Converter Factory Pro 是 WonderFox 公司开发的一款高清视频转换软件,它支持300多种视频格式的转换,在确保视频质量的同时,压缩率可达80%,转换速度可比同类软件快50倍。它支持画面剪切、片段剪辑、片段合并、特效添加、铃声制作、声音调整、FTP上传、字幕编辑等。Wonderfox HD Video Converter Factory Pro 支持最新的编码器,如H265(HEVC)、VP9 以及其他一些高清视频格式。它支持将多轨高清视频(M2TS、MKV、AVCHD、HDTV、BDAV、MPEG-TS等)转换为300+视频和音频编码。

    软件特色

    bd8015744805481deb53a34881fe7e0e.png

      Wonderfox HD Video Converter Factory Pro 拥有高级的高清视频转换技术,它可以将标清视频转换为高清视频,如HD MP4、HD MKV、HD AVI、HD MTS、HD TRP、甚至标准4k。当某些设备对视频格式有要求时,这个功能尤其有用。HD Video Converter Factory Pro 的设计使得它可以充分利用计算机硬件。它支持多核CPU和超线程,通过成熟的技术提高CPU在视频转换进程中的使用率。除此之外,利用独特的编码技术和批量转换模式,它可以将转换速度飙升至50X。

    功能介绍

      HD Video Converter Factory Pro 内置高级视频压缩器,可以以最小的质量损失压缩视频(从高清转换为标清),经它转换后的视频看起来几乎与原视频无异!这样你就可以释放设备上的空间,同时,因为视频过大而播放卡顿的问题也迎刃而解。利用独特的编码技术,HD Video Converter Factory Pro 可以帮您实现4K、H265和VP9 视频的转换。您既可以将4K、H265 或 VP9源视频转换为其他的格式,如AVI、WMV、MOV,也可以将其他格式转换为4k、H265或VP9 格式。

    支持格式

      avi、avm、asf、wmv、avs、flv、swf、mkv、mov、3gp、mp4、mpg、mpeg、dat、ogm、vob、rm、rmvb、ts、tp、ifo、nsv、m2ts、mts

    使用方法

      1.下载完成后不要在压缩包内运行软件直接使用,先解压;

      2.软件同时支持32位64位运行环境;

      3.如果软件无法正常打开,请右键使用管理员模式运行。

    8bb88562870fe60e921ac40304fa6fae.png

    HD Video Converter Factory,国外堪称转换速度最快的高清视频转换软件,支持300多种视频格式转换,有视频转换器、视频合并、视频马赛克、视频下载、屏幕录像、GIF制作、图片转视频、铃声工具等功能。

    本公众号所有资源对粉丝全部免费

    点击软件名称跳转到软件介绍,在文章底部即可获取关键字,在公众号对话框正确输入关键字即可获取软件!

    小乖乖也是利用空闲的时间来给大家更新,所以特别希望得到大家的支持希望大家在获取软件的同时,顺手点个“在看”,和文中、文末的小卡片!

    注意:如果下载的软件失效了,小乖乖会在软件更新后第一时间发出来,如果还没发出来,就是软件没有更新,请大家耐心等待!

    获取方式

    如果你感觉还不错的话关注公众号玩机软件

    后台回复B1053,即可获取下载链接!

    653084da3a6ddba6d61a482c673c9364.png

    6a112c70efef7c0e1f96d285deffafc5.pnge3756f93b8fd2febd5c72bf0e2160639.png猜您喜欢e809e15444c2d6fd4059bfd7e76eabd6.gif一款车载音乐助手软件,整合了当前多个著名车载电台的音乐资源一款功能非常强大的图像处理软件让手机提速百分之300又一款支持双系统的影视APP

    30eb5f30b34e265b09f677a3d6d9c169.png

    展开全文
  • Python股票盯盘助手

    千次阅读 2018-11-01 18:32:23
    学习股票交易有一段时间了,还未逃脱盯盘的 初级阶段,索性写了一段微信盯盘脚本,将账户信息实时发送到微信助手中 先导入需要的包 import tushare as ts import itchat, time from itchat.content import TEXT ...

    学习股票交易有一段时间了,还未逃脱盯盘的 初级阶段,索性写了一段微信盯盘脚本,将账户信息实时发送到微信助手中

    • 先导入需要的包
    import tushare as ts
    import itchat, time
    from itchat.content import TEXT
    import datetime
    
    • 登陆微信
    itchat.logout()
    itchat.auto_login(hotReload=True)
    • 编写主要计算函数,通过给定的列表获取实时行情信息,并计算股票收益情况
    #定义股票列表,格式为【‘股票名称_股票代码_建仓价格_数量’】,可建多个仓位
    #stock_list=['中科曙光_603019_44.836_200','大华股份_002236_12.830_100','掌阅科技_603533_19.370_100','紫光股份_000938_35.850_100']
    #计算函数,通过给定的股票列表,获取实时行情信息,并计算收益情况
    def earnings(stock_list):
        message=nowTime+"收益播报:\r\n"+"\n"
        #获取上证指数
        sh=ts.get_realtime_quotes('sh')
        sh_pro=float(sh.to_dict()['price'][0])-float(sh.to_dict()['pre_close'][0])
        message+="{}\t{}\t{}\t{}".format("上证指数",str(round(float(sh.to_dict()['price'][0]),2)),str(round(sh_pro,3)),sh.to_dict()['time'][0])+"\r\n"
        #message+=sh.to_dict()['name'][0]+"\t"+sh.to_dict()['price'][0]+"\t"+str(round(sh_pro,4))+"\t"+sh.to_dict()['time'][0]+"\r\n"
        pro_sum=0.000
        #遍历股票列表,分割出股票的名称,代码,价格,数量
        for stock in stock_list:
            #名称
            stock_name=stock.split("_")[0]
            #代码
            stock_code=stock.split("_")[1]
            #价格
            stock_price=stock.split("_")[2]
            #数量
            stock_num=stock.split("_")[3]
            
            #通过ts获取股票实时信息
            df = ts.get_realtime_quotes(stock_code)
            
            #计算收益
            profit=(float(df['price'])-float(stock_price))*int(stock_num)
            pro_sum+=profit
            
            #写成txt
            str_pro="{}\t{}\t{}\t{}".format(stock_name,str(round(float(df.to_dict()['price'][0]),2)),str(round(profit,4)),df.to_dict()['time'][0])
            #str_pro=stock_name+"\t"+str(round(float(df.to_dict()['price'][0]),2))+"\t"+str(round(profit,4))+"\t"+df.to_dict()['time'][0]
            message+=str_pro+"\r\n"
        sh=ts.get_realtime_quotes('sh')
        
        message+='总盈亏为: '+str(round(pro_sum,4))
        return message
      
    • 通过while死循环不停的执行上文的函数,并将结果发送到微信上
    stock_list1=['中科曙光_603019_44.836_200','大华股份_002236_12.830_100','掌阅科技_603533_19.370_100','紫光股份_000938_35.850_100']
    while True:
        nowTime=datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')#现在
        string = earnings(stock_list1)
        print(string)
        #通过微信助手发送给自己
        itchat.send(msg=string, toUserName="filehelper")
        #设置间隔时间(秒)
        time.sleep(60)
    展开全文

空空如也

空空如也

1 2 3 4
收藏数 67
精华内容 26
关键字:

ts助手