我正在寻找一种处理shell脚本的方法来确定:
它不需要通过依赖项递归,只需列出它直接运行的内容.我本可以写一些自己这样做的东西,但它必须在之前完成......我只是没找到它.
我用它来比较输入的密码和确认密码.无论如何,它都会创造用户.为什么这样?
这是数据库代码 -
$connect = @mysql_connect ($host, $username, $password) or die ('error');
$select = @mysql_select_db($db_name, $connect) or die('check');
$username=stripslashes(trim($_POST['username']));
$select_record="select * from users where username=' ".$username."' ";
$select_query=mysql_query($select_record) or die (mysql_error());
if(mysql_num_rows($select_query)==0)
{
$fullname = stripslashes(trim($_POST['fullname']));
$email = stripslashes(trim($_POST['email']));
$website = stripslashes(trim($_POST['website']));
$username = stripslashes(trim($_POST['username']));
$password = stripslashes(trim($_POST['password']));
$add_new="insert into users (fullname,email,website,username,password) values ('$fullname','$email','$website','$username','$password')";
$add_query=mysql_query($add_new) or die(mysql_error());
if($add_query)
{
echo "Awesome! You are now a member";
}
}
else
echo "Please try again";
?>
Run Code Online (Sandbox Code Playgroud)
上面连接,我有我的数据库用户名和密码.
只是为了修改,这是我目前的代码 -
<div id="form"><form action="registersuccess.php" …
Run Code Online (Sandbox Code Playgroud) 我有一个9图像的目录:
image_0001, image_0002, image_0003 image_0010, image_0011 image_0011-1, image_0011-2, image_0011-3 image_9999
我希望能够以有效的方式列出它们,就像这样(9个图像有4个条目):
(image_000[1-3], image_00[10-11], image_0011-[1-3], image_9999)
在python中有一种方法,以简短/清晰的方式返回图像目录(不列出每个文件)?
所以,可能是这样的:
列出所有图像,按数字排序,创建一个列表(从开始按顺序计算每个图像).缺少图像(创建新列表)时,继续直到原始文件列表完成.现在我应该有一些包含非破坏序列的列表.
我试图让阅读/描述数字列表变得容易.如果我有1000个连续文件的序列它可以清楚地列为文件[0001-1000]而不是文件['0001','0002','0003'等...]
Edit1(基于建议):给定一个扁平列表,你将如何得出glob模式?
Edit2 我试图将问题分解成更小的部分.以下是解决方案的一部分示例:data1工作,data2返回0010为64,data3(realworld数据)不起作用:
# Find runs of consecutive numbers using groupby. The key to the solution
# is differencing with a range so that consecutive numbers all appear in
# same group.
from operator import itemgetter
from itertools import *
data1=[01,02,03,10,11,100,9999]
data2=[0001,0002,0003,0010,0011,0100,9999]
data3=['image_0001','image_0002','image_0003','image_0010','image_0011','image_0011-2','image_0011-3','image_0100','image_9999']
list1 = []
for k, g in groupby(enumerate(data1), lambda (i,x):i-x):
list1.append(map(itemgetter(1), g))
print 'data1'
print list1
list2 …
Run Code Online (Sandbox Code Playgroud) 我一直在研究各种编程问题和算法,以提高我的编程和解决问题的能力.但是,我继续遇到像这样的描述:
"设A = [a1,a2,...,an]是整数1,2,...,n的排列.一对索引(i,j),1 <= i <= j <= n ,如果ai> aj,则是置换A的反转.我们给出整数n> 0且k> = 0.包含正好k反转的n元素排列的数量是多少?" (来源:http://www.spoj.pl/problems/PERMUT1/)
为了让这种问题描述对我有意义,我需要学习什么样的数学?
我的问题是,我的php网站被调用了两次.但我不知道为什么.在我的访问日志中,如果我重新加载,我还会得到两个条目:
127.0.0.12 - - [13/Oct/2010:20:41:56 +0200] "POST /index.php HTTP/1.1" 200 1493 "http://mkw-testing/index.php" "Mozilla/5.0 (X11; U; Linux i686; en-US) AppleWebKit/534.7 (KHTML, like Gecko) Chrome/7.0.517.36 Safari/534.7"
127.0.0.12 - - [13/Oct/2010:20:41:57 +0200] "GET /favicon.ico HTTP/1.1" 200 1498 "-" "Mozilla/5.0 (X11; U; Linux i686; en-US) AppleWebKit/534.7 (KHTML, like Gecko) Chrome/7.0.517.36 Safari/534.7"
Run Code Online (Sandbox Code Playgroud)
我的error.log显示:
[Wed Oct 13 21:08:35 2010] [debug] mod_deflate.c(615): [client 127.0.0.12] Zlib: Compressed 2766 to 1067 : URL /index.php
[Wed Oct 13 21:08:35 2010] [debug] mod_deflate.c(615): [client 127.0.0.12] Zlib: Compressed 2743 to 1038 : …
Run Code Online (Sandbox Code Playgroud) 你好,所以这是交易我在我的服务器上有我的mp3文件,每个都在自己的文件夹中.在该文件夹中是mp3和带有以下脚本的php文件:
<?php
// We'll be outputting a PDF
header('Content-type: audio/mp3');
// It will be called file.mp3
header('Content-Disposition: attachment; filename="mysong.mp3"');
// The PDF source is in original.mp3
readfile("mysong.mp3");
?>
Run Code Online (Sandbox Code Playgroud)
问题是,当我点击进入那个php页面时,标题是为了让它自动下载mp3文件,当它下载时它会下载一个300KB的文件但是当我去mp3文件的实际链接时它会播放它完美地在浏览器中所以我猜测给出标题的php文件有问题.
我有一个名为pregeocode的Windows应用程序(我们缺少源代码),这个程序基本上将地理编码写入输入文件.除非出现错误,否则该程序实际上不会向控制台写入任何内容.这个程序通常从一个小的Python程序调用(它处理参数等,并进行所有有趣的预处理).
我们通过查看输出文件是否实际创建来检查它是否失败(无论如何,它总是返回0).但是当它失败时,子进程显示没有任何内容打印到stderr或stdout.(它成功地处理了大约一百个,只有一个是坏的,但我希望能够看到导致错误的原因)
小python脚本通过subprocess.Popen调用应用程序:
argslist = [r'C:\workspace\apps\pregeocode.exe', '-in', inputfilename, '-out', outputfilename, '-gcp', gcp_file]
p = subprocess.Popen(argslist, stderr=subprocess.PIPE, stdout=subprocess.PIPE)
print str(p.communicate())
Run Code Online (Sandbox Code Playgroud)
给出的输出:
('', '')
Run Code Online (Sandbox Code Playgroud)
但是,如果我通过cmd使用相同的参数手动运行程序,我得到的输出:
45 IMAGE_EXTENT_TOO_SMALL
Run Code Online (Sandbox Code Playgroud)
(有大约60多个不同的错误消息,45表示错误号)
使用shell = True参数不会改变任何东西,我也无法在网上找到关于这个问题的任何内容.实际的exe是很久以前在内部制作的东西,我们缺少它的源代码,所以我看不出它是如何打印出来的.
那么为什么子进程实际上不能捕获stdout或stderr呢?
编辑
os.system(" ".join(argslist))
Run Code Online (Sandbox Code Playgroud)
正确打印错误消息:
45 IMAGE_EXTENT_TOO_SMALL
Run Code Online (Sandbox Code Playgroud)
编辑2
原来应用程序使用ERDAS的工具包.他们的工具包将所有stdout/stderr重定向到他们的日志记录子系统.然后,日志记录子系统通过"CON"重写它.
我为这两个查询得到不同的结果集,第二个结果集似乎是正确的.这些查询有什么不同.
第二种是什么类型的内连接查询?
1)
FROM TABLE1 t1
INNER JOIN TABLE2 t2 ON t1.Id = t2.Id
WHERE
t1.StatusId = 12
Run Code Online (Sandbox Code Playgroud)
2)
FROM TABLE1 t1
INNER JOIN TABLE2 t2 ON t1.Id = t2.Id
AND t1.StatusId = 12
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用FluentNHibernate向我的NHibernate配置添加IPostLoadEventListener的实现.我可以这样说明:
但是,创建一个新数组来替换旧数组会完全丢弃任何现有的事件侦听器.我可以像这样绕过它:
return Fluently.Configure()
.Database(config)
.Mappings(m => m.AutoMappings.Add(mappings))
.ExposeConfiguration(cfg =>
{
cfg.EventListeners.PostLoadEventListeners =
new IPostLoadEventListener[] {
new UtcDateEventListener(),
new DefaultPostLoadEventListener() // <<< this one is the default
};
cfg.EventListeners.SaveOrUpdateEventListeners =
new ISaveOrUpdateEventListener[] {
new UtcDateEventListener(),
new DefaultSaveOrUpdateEventListener() // <<< this one is the default
};
})
.BuildConfiguration()
.BuildSessionFactory();
Run Code Online (Sandbox Code Playgroud)
但我只通过单步执行代码来确定我覆盖的默认事件监听器.我想添加我的事件监听器而不会覆盖任何现有的事件监听器,但是就像我上面所示,这样做对我来说似乎非常臭.现有的事件侦听器作为数组公开(而不是集合或列表,这将更有意义).有没有更清洁的方法来处理这个?