我有一个我想阅读的文本文件,其中包含元组行.文本中的每个元组/行都是('描述字符串',[整数列表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中打开pdf,使其转到特定的页面或部分?我想的是让它打开一个帮助文件(pdf)并跳转到请求帮助的部分.
我正在尝试用PHP构建一个CSV文件,然后从AJAX调用中调用PHP文件,然后在AJAX调用成功后启动CSV文件的下载.如果我在服务器上保存.csv的物理副本,这可以正常工作,但我想使用,php://ouput
所以我不必担心物理文件堵塞服务器.是否可以从返回php://output
AJAX 开始下载?这是我的代码:
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调用返回文件保存对话框.
这必须简单,但我似乎找不到任何结合这两个问题的例子.
有没有办法让产生新线程的父级捕获产生的线程异常?以下是我想要完成的一个真实的基本示例.当引发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调用,如果该程序由于某种原因挂起.
我启用了服务器端处理创建的以下数据表:
$(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作为我的标识符)?是否可以对客户端进行排序而不刷新这样的表并实际根据名称进行排序?