精华内容
下载资源
问答
  • 提供控制台参数解析,命令运行,颜色样式输出,用户信息交互以及特殊格式信息显示。 命令行预览 产品特点 易于使用。 可以轻松集成到任何现有项目中。 命令行应用程序, controller , command解析在命令行上运行 ...
  • 所有代码都一直在工作,并且您永远不要以为任何事情都已经完成了-我建议您在机会情况下更新主干。 如果您遇到未完成方法或其他奇怪/问题,请与我联系-此处发布代码可用于许多其他应用程序,并且我总是愿意...
  • 有关功能的完整列表以及如何使用它们。 下载 。 这将为您安装SpectralAnalysis和必要的MATLAB Runtime。 如果您已经安装了MATLAB Runtime R2020a。 如果您已安装MATLAB(任何版本),并希望在SpectralAnalysis和...
  • 近期涉及到 jquery 开发,因此对jQuery做了一些初步学习,jquery功能相对比较强大些,尤其是对ajax支持,jquery ajax与服务器交互,这种搭配使得“局部刷新,异步更新”交互方式比单纯ajax,了很大提高,...

    近期涉及到 jquery 开发,因此对jQuery做了一些初步的学习,jquery功能相对比较强大些,尤其是对ajax支持,jquery ajax与服务器交互,这种搭配使得“局部刷新,异步更新”交互方式比单纯的ajax,有了很大的提高,大大改善了用户体验。

    1.关于Jquery 和 ajax 就不做介绍了。

     

    下面谈谈,本人在JQuery ajax + php 开发时候遇到的一些问题。

     

    不多说,先看代码:

     

    html 界面,这个可以理解为客户端

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>无标题文档</title>
    <script type="text/javascript" src="../jquery-ui/js/jquery-1.9.1.js"></script>
    
    <script type="text/javascript">
    $(document).ready(function(e) {
    	
    	
    	var count = 2;
    	var postdata = { "case" : count };
        
    	$("#button").click(
    		function(){
    				alert("test was clicked" + postdata["case"]);	
    				$.get("ajaxtest.php",postdata,
    				function(data){
    					
    					$("#showtext").html(data);
    					
    					alert("调用完毕");
    						
    					});
    			
    			}
    	
    	
    	);
    	
    });
    </script>
    </head>
    
    <body>
    <div style="border:#F00 solid 1px; width:500px; height:30px;"><input type="button" id="button" value="test" /></div>
    <div style="border:#9F0 solid 1px; background-color:#0CF; width:500px; height:300px;" id="showtext"></div>
    </body>
    </html>


     

    2.php代码,这个可以理解为服务器端。

    <?php
    //这里两句话很重要,第一讲话告诉浏览器返回的数据是什么格式
    header("Content-Type: text/html;charset=utf-8");
    //告诉浏览器不要缓存数据
    header("Cache-Control: no-cache");
    
    echo "hello serivce";
    
    $time = $_GET["case"];
    
    switch ($time){
    
    	case 2:
    		printf($time);
    		echo "第1个完毕 "."time is".$time;
    		sleep(1);
    		break;
    	case 1:
    
    		echo "第0个完毕";
    		break;
    	default:
    		
    		echo "执行遇到意外";
    }
    ?>

     

    3. 显示结果


     

    整个过程是点击按钮在下面的div里显示php页面传回来的数据。

    这是jquery使用ajax的函数

    $.get("ajaxtest.php",postdata,
        function(data){
         
         $("#showtext").html(data);
         
         alert("调用完毕");
          
         });

     

    注:这个函数中没有设置数据格式参数,这点很重要。

    funciont(data){//...}

    这里的data参数就是服务器返回来的数据,这个参数可以是任意合法字符,如:

    funciont(aaa){//...}

     

     

    本人遇到的问题是 数据不显示。

     

    这个问题本来很简单,但是本人在开发时候,把php的头部文件开始时候设置成为了 json,如下:

    header("Content-Type: text/json;charset=utf-8");(注:这样设置会有问题)

    正确的为:header("Content-Type: text/html;charset=utf-8");

    这样设置,导致一直在界面没有显示数据。

    鼓捣了很久,以为是ajax函数的原因,看到官方这个函数使用里面有数据格式的设置,可是怎么弄都不起作用,还是没显示。

    所以干脆先不设置格式,从头看什么原因,结果顺利显示数据。

     

    关于json格式的和非json格式的使用,请看另一篇博文。

     

    展开全文
  • OpenPyXL所支持的功能介于XlsxWriter和xlwt之间,不支持XLS格式文件 xlrd&xlwt,支持XLS,XLSX格式 用pandas进行excel读写,比xlrd&xlwt快且简单 参考资料: 用Python读写Excel文件方式比较 import os.path ...

    今天在网上学习,看到python读写excel有4种方法,并各有优劣

    • XlsxWriter只能用来写文件,不支持XLS格式文件
    • OpenPyXL所支持的功能介于XlsxWriter和xlwt之间,不支持XLS格式文件
    • xlrd&xlwt,支持XLS,XLSX格式
    • 用pandas进行excel读写,比xlrd&xlwt快且简单

    参考资料:
    用Python读写Excel文件的方式比较

    excel和txt格式互换基本

    import os.path
    import xlrd
    import xlwt
    import pandas as pd
    import numpy as np
    
    
    # fileName = r'C:\Users\Lenovo\Desktop\1.txt'
    def readFromTxt(filename):
        excel_list = []
        if not os.path.isfile(filename):
            print(filename + "does not exit")
        else:
            try:
                infile = open(filename, "r")
                line = infile.readline()
                while line != '':  # 这里不是空格
                    print(line)
                    tmp = line.split()
                    tmp = [eval(i) for i in tmp]  # 转换成整数
                    excel_list.append(tmp)
                    line = infile.readline()
            except:
                print("Something wrong happens")
            finally:
                infile.close()
        return excel_list
    
    
    def writeToTxt(filename, excel_list):
        outFile = open(filename, "w")
        for row in range(len(excel_list)):
            for col in range(len(excel_list[row])):
                outFile.write(str(excel_list[row][col]))
                outFile.write(" ")
            outFile.write("\n")
        outFile.close()
    
    
    # data1.xls
    def readFromExcelByXlrd(filename, sheetName='Sheet1'):
        excel_list = []
        try:
            book = xlrd.open_workbook(filename)
            sheet1 = book.sheet_by_name(sheetName)
            nrows = sheet1.nrows
            print('表格总行数', nrows, end=", ")
            ncols = sheet1.ncols
            print('表格总列数', ncols)
            for i in range(nrows):
                row = sheet1.row_values(i)
                excel_list.append(row)
    
            for lst in excel_list:
                for data in lst:
                    print(data, end=" ")
                print('\n')
        except Exception as e:
            print(str(e))
        finally:
            return excel_list
    
    
    def writeToExcelByXlwt(fileName, excel_list, sheetName='Sheet1'):
        # # 创建一个workbook 设置编码
        book = xlwt.Workbook(encoding='utf-8')
        sheet = book.add_sheet(sheetName, True)
        for row in range(len(excel_list)):
            for col in range(len(excel_list[row])):
                sheet.write(row, col, excel_list[row][col])
        book.save(fileName)
    
    
    # # data1.xls
    def readFromExcelByPandas(filename, sheetName='Sheet1'):
        excel_list = []
        try:
            df = pd.read_excel(filename, sheet_name=sheetName, header=None)
            print('表格总行数', df.shape[0], '表格总列数', df.shape[1])
            # 查看某一列:    print(df['标题'].values)
            # 查看某一行:     print(df.values[0])
            excel_list = df.values.tolist()
    
            for lst in excel_list:
                for data in lst:
                    print(data, end=" ")
                print('\n')
        except Exception as e:
            print(str(e))
        finally:
            return excel_list
    
    
    def writeToExcelByPandas(filename, excel_list, sheetName='Sheet1'):
        tmp = np.array(excel_list)
        keys = tmp[0][:]  # 把list数据第一行作为标题
        tmp1 = tmp[1:][:]  # 把list数据第二行开始作为数据
        values = [tmp1[:, i].tolist() for i in range(tmp1.shape[1])]
        dict1 = dict(zip(keys, values))
        df = pd.DataFrame(dict1)
        df.to_excel(filename, sheet_name=sheetName, index=False)
    
    
    if __name__ == '__main__':
        txtFileName = r'C:\Users\Lenovo\Desktop\1.txt'
        excelFileName = r'F:\PycharmWorkPlace\机器学习\data1.xls'
        excelFileName1 = r'C:\Users\Lenovo\Desktop\data2.xls'
        excel_list = readFromExcelByPandas(excelFileName)
        writeToTxt(txtFileName,excel_list)
        writeToExcelByPandas(excelFileName1,excel_list)
    

    选择txt数据复制到excel文件

    背景:有个师兄想保存某个网站所有的数据记录,但数据过多,一个一个复制是不可能的,于是叫我帮他写一个,我的想法是:
    先把网站数据全部复制到txt文件内,然后用程序读到excel内
    选择方式:手动输入文件完整路径或可以打开文件夹的方式选择读写文件目录
    (但我感觉python应该可以自动化脚本从网站直接爬取,省了手动复制到txt,但是考虑到那样要帮他爬数据,我想想时间有限,还是算了)

    import os.path
    import pandas as pd
    import tkinter
    from tkinter import Tk
    from tkinter.filedialog import askopenfilename
    
    
    def readFromTxt(fileName) -> '读取数据':
        if not os.path.isfile(fileName):
            print(fileName + "does not exit")
            return
        df = pd.read_table(fileName)
        return df
    
    
    def writeToExcel(fileName, df, Header=False):
        if os.path.isfile(fileName):
            choose = input(fileName + " has already exits.Would you wanna overwrite it?Please input Y to continue").strip()
            if choose != 'Y' and choose != 'y':
                return
        df.to_excel(fileName, index=False, header=Header)
    
    
    def main():
        choice = input("Would you wanna input fileName or select by yourself?Please input choice between L and R")
        selectMode = False
        if choice == 'L' or choice == 'l':
            print("Now select the absolute path of the *.txt you wanna copy")
            selectMode = True
            window = Tk()
            window.withdraw()  # 除掉小框
            fileName = askopenfilename(defaultextension=".txt",
                                       title='Select the  .txt file',
                                       filetypes=[('TXT', '*.txt'), ('All Files', '*')], initialdir='C:\\Windows')
        else:
            fileName = input("Input the absolute path of *.txt file:").strip()
    
        df = readFromTxt(fileName)
    
        if df is not None:
            if not selectMode:
                fileName1 = input("Input the absolute path of *.xls file:").strip()
            else:
                print("Now select the absolute path of the *.xls file you wanna save")
                window = Tk()
                window.withdraw()  # 除掉小框
                fileName1 = tkinter.filedialog.asksaveasfilename(title=u'Save as *.xls file', filetypes=[("XLS", ".xls")],
                                                                 initialdir='C:\\Windows')
                if not fileName1.endswith(".xls"):
                    fileName1 += ".xls"
            choose = input('Does the *.txt file contains header?Please input Y(y) or other character to continue').strip()
            if choose == 'Y' or choose == 'y':
                writeToExcel(fileName1, df, True)
            else:
                writeToExcel(fileName1, df)
            print("Succeed copy datas!")
        else:
            print("Failed copy datas to the excel file.")
    
    
    if __name__ == '__main__':
        main()
    
    
    展开全文
  • 用于验证用户的电子邮件ID和密码,以确保它们的格式正确。 ii)useForm.js 用于设置输入字段的状态和错误状态(如果)。 屏幕截图 1.登录页面 2.电子邮件验证 3.密码验证 i)长度验证 ii)字母数字字符验证 ...
  • 如果您从不支持任何来源获得遥测功能,则可以为其提出一个映射,并且在成功合并PR后,NewRelic收到,与您定义文件匹配任何遥测功能都将被合成为一个实体。 然后,您可以开始利用围绕它们构建任何工具,...
  • 1.使用树形控件,选择自己需要实现的功能的相关调用方法跟值 2.触发事件时获取数据及控件展示问题 (三)关于树形结构转化说明 如果后台传过来的树形数据跟展示不同,就需要前台这边自己进行处理 比如这次后台传...

    (一)需求展示效果图

    1.新增时树形控件展示效果
    在这里插入图片描述
    2.编辑时树形控件展示效果
    在这里插入图片描述

    (二)实现代码

    1.使用树形控件,选择自己需要实现的功能的相关调用方法跟值

    在这里插入图片描述
    在这里插入图片描述
    2.触发事件时获取数据及控件展示问题

    在这里插入图片描述
    在这里插入图片描述

    (三)关于树形结构转化说明

    如果后台传过来的树形数据跟展示不同,就需要前台这边自己进行处理

    比如这次后台传过来的数据格式:

    在这里插入图片描述

    1.可以通过遍历,点扩展运算符获取数据每项做对应数据转化处理。
    在这里插入图片描述
    在这里插入图片描述
    2.也可以使用递归的方法进行一个树或者森林的遍历。下面是同样的树数据,但是有判断筛选处理。

    在这里插入图片描述
    在这里插入图片描述

    展开全文
  • Geodysseus是一个跨平台OpenGL交互式地图投影和导航程序。 用户单击地图或3D地球仪以创建大地测量导线。 然后可以用任意数量Loxodrome腿来近似测地线。 然后可以将轨迹重新投影到不同地图投影上。 目的是为...
  • 交互

    2021-01-03 03:21:48
    交互Here Document 免交互语法格式:变量替换整体赋值给变量关闭变量替换的功能去掉每行之前 TAB 字符或者空格多行注释Expect基本命令:创建磁盘分区并格式化方法一:方法二:方法三: Here Document 免交互 使用...

    Here Document 免交互

    使用I/O重定向的方式将命令列表提供给交互式程序,标准输入的一种替代品

    语法格式:

    命令 <<标记
    … #标记之间是传入内容

    标记

    注意事项

    标记可以使用任意合法字符(通常为EOF)
    结尾的标记一定要顶格写,前面不能有任何字符
    结尾的标记后面也不能有任何字符(包括空格)
    开头标记前后的空格会被省略掉
    

    免交互方式实现对行数的统计,将要统计的内容置于标记“EOF”之间,直接将内容传给 wc -l 来统计

    wc -l <<EOF
    >Line1
    >Line2
    >EOF
    

    通过 read 命令接收输入并打印,输入值是两个 EOF 标记之间的部分,作为变量 i 的值
    read i <<EOF

    Hi
    EOF
    echo $i

    通过 passwd 给用户设置密码
    passwd lisi <<EOF

    abc1234 #这两行是输入的密码和确认密码
    abc1234
    EOF

    变量替换

    file="EOF1.txt"
    i="school"
    cat > $file <<EOF
    I am going to $i
    EOF
    
    cat EOF1.txt
    

    整体赋值给变量

    var="Great! I am going to school!"
    myvar=$(cat <<EOF			 
    This is Line 1.
    Today is Monday.
    $var
    EOF
    )
    
    echo $myvar
    

    关闭变量替换的功能

    var="Great! I am going to school!"
    myvar=$(cat <<'EOF'			#对标记加单引号,即可关闭变量替换			 
    This is Line 1.
    Today is Monday.
    $var
    EOF
    )
    
    echo $myvar
    

    去掉每行之前的 TAB 字符或者空格

    #!/bin/bash
    var="Great! I am going to school!"
    myvar=$(cat <<-'EOF'			#对标记前加“-”,即可抑制各行首TAB或空格			 
    	This is Line 1.
     Today is Monday.
    $var
    EOF
    )
    
    echo $myvar
    
    

    多行注释

    #!/bin/bash
    var="Great! I am going to school!"
    : <<-EOF                         #多行注释,“:”开头的 Here Document 标记内容不会被执行
            This is Line 1.
     Today is Monday.
    $var
    EOF
    echo "abcd"
    

    Expect

    建立在tcl语言基础上的一个工具,常被用于进行自动化控制和测试,解决shell脚本中交互相关的问题
    rpm -q expect
    rpm -q tcl
    yum install -y expect
    

    基本命令:

    (1)脚本解释器
    expect 脚本中首先引入文件,表明使用的是哪一个 shell。
    #!/usr/bin/expect
    
    (2)spawn
    spawn 后面通常跟一个命令,表示开启一个会话、启动进程,并跟踪后续交互信息。
    例:spawn passwd root
    
    (3)expect
    判断上次输出结果中是否包含指定的字符串,如果有则立即返回,否则就等待超时时间后返回;只能捕捉由spawn启动的进程的输出;用于接收命令执行后的输出,然后和期望的字符串匹配
    
    (4)send
    向进程发送字符串,用于模拟用户的输入;该命令不能自动回车换行,一般要加\r(回车)或者\n
    例:
    case1="密码"
    respond="abc1234"
    
    expect "$case1" {send "$respond1\r"}		#同一行send部分要有{}
    
    expect "$case1"	
    send "$response1\r"							#换行send部分不需要有{}
    
    expect					#只要匹配了其中一个情况,执行相应的send语句后退出该expect语句
    {
    "$case1" {send "$response1\r"}
    "$case2" {send "$response2\r"}
    "$case3" {send "$response3\r"}
    }
    
    (5)结束符
    expect eof
    表示交互结束,等待执行结束,退回到原用户,与spawn对应
    比如切换到root用户,expect脚本默认的是等待10s,当执行完命令后,默认停留10s后,自动切回了原用户
    
    interact
    执行完成后保持交互状态,把控制权交给控制台,会停留在目标终端而不会退回到原终端,这个时候就可以手工操作了,interact后的命令不起作用,比如interact后添加exit,并不会退出root用户。而如果没有interact则登录完成后会退出,而不是留在远程终端上。
    使用interact会保持在终端而不会退回到原终端,比如切换到root用户,会一直在root用户状态下;比如ssh到另一服务器,会一直在目标服务器终端,而不会切回的原服务器。
    

    注意:expect eof 与 interact 只能二选一

    (6)set
    expect 默认的超时时间是 10 秒,通过 set 命令可以设置会话超时时间, 若不限制超时时间则应设置为-1。
    例:set timeout 30
    
    (7)exp_continue
    exp_continue 附加于某个 expect 判断项之后,可以使该项被匹配后,还能继续匹配该 expect 判断语句内的其他项。exp_continue 类似于控制语句中的 continue 语句。
    例如:下例将判断交互输出中是否存在 yes/no 或 *assword。如果匹配 yes/no 则输出 yes 并再次执行判断;如果匹配 *assword 则输出 abc123 并结束该段 expect 语句。
    expect {
        "(yes/no)" {send "yes\r"; exp_continue;}
        "*password" {set timeout 300; send "abc123\r";}
    }
    
    注意:使用exp_continue时,如果跟踪像 passwd 这样的输入密码后就结束进程的命令,expect{}外不要再加上expect eof
    因为spawn进程结束后会向expect发送eof,会导致后面的 expect eof 执行报错
    
    (8)send_user
    send_user 表示回显命令,相当于 echo
    
    (9)接收参数
    expect 脚本可以接受从bash命令行传递的参数,使用[lindex $argv n]获得。其中n从0开始,分别表示第一个,第二个,第三个....参数。
    例:
    set hostname [lindex $argv 0]   	相当于 hostname=$1
    set password [lindex $argv 1]		相当于 password=$2
    
    
    expect直接执行
    #!/usr/bin/expect
    
    #设置超时时间
    set timeout 60
    
    #参数传入
    set hostname [lindex $argv 0]
    set password [lindex $argv 1]
    #追踪命令
    spawn ssh root@$hostname
    #免交互执行,捕捉信息并匹配
    expect {
    	"(yes/no)"
    	{send "yes\r"; exp_continue}
    	"*password"
    	{send "$password\r"}
    }
    #把控制权交给控制台
    interact
    
    
    嵌入执行
    #!/bin/bash
    hostname=$1
    password=$2
    
    /usr/bin/expect <<-EOF 		#expect 开始标志
    spawn ssh root@${hostname}
    
    expect {
    "(yes/no)"
    {send "yes\r";exp_continue}
    "*password"
    {send "$password\r"}
    }
    
    expect "*]#"
    send "exit\r"
    expect eof
    EOF
    
    
    创建用户并设置密码
    #!/bin/bash
    user=$1
    password=$2
    #非交互命令放在expect外面
    useradd $user
    #开始免交换执行
    /usr/bin/expect <<EOF
    spawn passwd $user 			#开启一个进程跟踪 passwd 命令,expect 只能捕捉该进程信息
    
    expect "新的*" 				
    send "${password}\r" 		
    expect "重新*" 	
    send "${password}\r" 		
    expect eof				
    EOF
    
    
    实现 ssh 自动登录
    #!/usr/bin/expect
    set timeout 5
    set hostname [lindex $argv 0]
    set password [lindex $argv 1]
    
    spawn ssh $hostname
    expect {
    	"Connection refused" exit					#连接失败情况,比如对方ssh服务关闭
    	"Name or service not known" exit			#找不到服务器,比如输入的IP地址不正确
    	"to continue" {send "yes\r";exp_continue}
    	"password:" {send "$password\r"}
    }
    
    interact
    exit			#interact后的命令不起作用
    
    
    

    创建磁盘分区并格式化
    还可使用echo再标准输入

    方法一:

    #!/bin/bash
    NEWDEV=`ls /dev/sd*|grep -o 'sd[b-z]'|uniq`
    for VAR in $NEWDEV
    do
    	echo -e "n\np\n\n\n\nw\n" | fdisk /dev/$VAR &> /dev/null
    done
    
    mkfs.xfs /dev/${VAR}"1" &> /dev/null
    

    方法二:

    fdisk /dev/$VAR < fd.txt
    

    方法三:

    echo "n
    	p
    	
    	
    	
    	w"  | fdisk /dev/$VAR
    
    展开全文
  • Android和JAVA后台实现数据通信前言项目介绍目录结构介绍功能介绍登陆功能特别重要注册功能功能快捷键合理创建标题,助于目录生成如何改变文本样式插入链接与图片如何插入一段漂亮代码片生成一个适合你...
  • 不同实验室不同容量,在学生分配时将应用这些容量。 用户介绍: 1. 学位管理员: 将决定 o 每学期将提供哪些单位;和 o 谁将为每个单元授课 2. 课程管理员: 将决定 o 谁将成为每节课程讲师 校园...
  • 这是一个简单的示例,显示了一些具有对齐功能的文本的创建。 它涉及图形几何, Cell和Layout 。 结果保存为GDSII文件,并显示在屏幕上: import os.path from gdsCAD import * # Create some things to draw: ...
  • 折腾了两天,由于之前没有UIWebView与JS交互的经历,并且觉得这次在功能一定创造性,特此留下一点文字,方便日后回顾。 我要实现这样一个需求:按照本地CSS文件展示一串网络获取带HTML格式的只有body...
  • pushbutton 按钮是一种简单的交互式控件,可用来立即响应用户输入,和网页按钮功能类似。 check box 复选框在两种状态(打开和关闭)之间进行切换,和网页中复选框类似。 Radio button 单选按钮字段包含一组相关...
  • OC与JS的交互详解

    2017-08-21 16:47:00
    折腾了两天,由于之前没有UIWebView与JS交互的经历,并且觉得这次在功能一定创造性,特此留下一点文字,方便日后回顾。 我要实现这样一个需求:按照本地CSS文件展示一串网络获取带HTML格式的只有body部分...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,596
精华内容 638
关键字:

有交互功能的格式