小编Das*_*Rot的帖子

从文本文件中读取列表元组作为元组,而不是字符串 - Python

我有一个我想阅读的文本文件,其中包含元组行.文本中的每个元组/行都是('描述字符串',[整数列表1],[整数列表2])的形式.文本文件可能类似于:

('项目1',[1,2,3,4],[4,3,2,1])
('项目2',[],[4,3,2,1])
('项目3, [1,2],[])

我希望能够从文本文件中读取每一行,然后将它们直接放入函数中,

function(string, list1, list2)
Run Code Online (Sandbox Code Playgroud)

我知道每一行都是以字符串形式读入的,但我需要提取一些字符串.我一直在尝试使用string.split(','),但是当我点击列表时会遇到问题.有没有办法完成这个或我将不得不修改我的文本文件一些如何?

我还有一个元组列表的文本文件,我想以类似的形式阅读

[(1,2),(3,4),(5,6),...]

可能包含任何数量的元组.我想在列表中读取它并为列表中的每个元组执行for循环.我认为这两个将使用大致相同的过程.

python text tuples file list

7
推荐指数
2
解决办法
1万
查看次数

Python - 打开特定页面/部分的pdf文件

是否可以从Python中打开pdf,使其转到特定的页面或部分?我想的是让它打开一个帮助文件(pdf)并跳转到请求帮助的部分.

python pdf

6
推荐指数
1
解决办法
9109
查看次数

从AJAX调用下载PHP输出缓冲区内置的文件

我正在尝试用PHP构建一个CSV文件,然后从AJAX调用中调用PHP文件,然后在AJAX调用成功后启动CSV文件的下载.如果我在服务器上保存.csv的物理副本,这可以正常工作,但我想使用,php://ouput所以我不必担心物理文件堵塞服务器.是否可以从返回php://outputAJAX 开始下载?这是我的代码:

HTML/jQuery的:

<!DOCTYPE html>

<html lang="en">
    <head>
        <meta charset="utf-8" />
        <script type="text/javascript" language="javascript" src="jquery.js"></script>
        <script type="text/javascript">
             $("#download").live("click", function() {
                var request = $.ajax({
                    dataType: 'html',
                    url: 'php.php',
                    success: function(response) {
                        alert('Finished');
                    }
                })
            })
        </script>
    </head>
    <body>
        <h1 id="download">DOWNLOAD</h1>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

PHP:

<?php 
    header('Content-type: application/vnd.ms-excel');
    header('Content-disposition: attachment; filename="test.csv"');
    $f = fopen('php://output', 'w');
    fwrite($f,'this,is,a,test');
    fclose($f);
    readfile('php://output');
    return;
?>
Run Code Online (Sandbox Code Playgroud)

我不知道如何从我的AJAX调用返回文件保存对话框.

这必须简单,但我似乎找不到任何结合这两个问题的例子.

php ajax jquery download output

6
推荐指数
1
解决办法
9738
查看次数

Python - 让父线程处理子线程异常

有没有办法让产生新线程的父级捕获产生的线程异常?以下是我想要完成的一个真实的基本示例.当引发Exception时它应该停止计数,但我不知道如何捕获它.异常线程安全吗?我希望能够使用该Subprocess模块,但我不习惯使用Python 2.3,我不知道如何做到这一点.可能使用该threading模块?

import time
import thread

def test(): 
    try:
        test = thread.start_new_thread(watchdog, (5,))
        count(10)
    except:
        print('Stopped Counting')

def count(num):
    for i in range(num):
        print i
        time.sleep(1)

def watchdog(timeout):
    time.sleep(timeout)
    raise Exception('Ran out of time')

if __name__ == '__main__':
    test()
Run Code Online (Sandbox Code Playgroud)

UPDATE

我的原始代码有点误导.它真的在寻找更像这样的东西:

import time
import thread
import os

def test(): 
    try:
        test = thread.start_new_thread(watchdog, (5,))
        os.system('count_to_10.exe')
    except:
        print('Stopped Counting')

def watchdog(timeout):
    time.sleep(timeout)
    raise Exception('Ran out of time')

if __name__ == '__main__':
    test()
Run Code Online (Sandbox Code Playgroud)

我试图创建一个看门狗来杀死os.system调用,如果该程序由于某种原因挂起.

python multithreading exception parent-child watchdog

5
推荐指数
1
解决办法
7584
查看次数

DataTables ServerSide排序不起作用 - mDataProp

我启用了服务器端处理创建的以下数据表:

$(document).ready(function() {
    oTable = $('#example').dataTable( {
        "bServerSide": True,
        "sAjaxSource": "source.php",
        "aaSorting": [[0,"asc"]],
        "aoColumns": [
            { "mDataProp" : "Name",
               "sType": "string-case" },
            { "mDataProp" : "Priority",
               "sType": "string-case" },
            { "mDataProp" : "Action",
               "sType": "string-case" }
        ]
    } );
} );
Run Code Online (Sandbox Code Playgroud)

名称,优先级和操作都是我想要排序的字符串.每当我点击列标题时,除了重新加载表之外什么都不做.可能是一个愚蠢的问题,但我是否需要在服务器上进行所有排序(使用iSortCol_0和sSortDir_0作为我的标识符)?是否可以对客户端进行排序而不刷新这样的表并实际根据名称进行排序?

sorting ajax jquery server-side datatables

2
推荐指数
1
解决办法
1万
查看次数