我有一个嘈杂的python脚本,我想通过将其stderr输出指向/ dev/null(使用bash BTW)来保持沉默.
像这样:
python -u parse.py 1> /tmp/output3.txt 2> /dev/null
Run Code Online (Sandbox Code Playgroud)
但它很快就会过早退出.嗯.我无法看到追溯因为当然与stderr一起出现了.如果我不指示某个地方的stderr,它会吵闹地运行.
因此,让我们尝试将其重定向到某个地方的文件而不是/ dev/null,并查看它的输出内容:
python -u parse.py 1> /tmp/output3.txt 2> /tmp/foo || tail /tmp/foo
Traceback (most recent call last):
File "parse.py", line 79, in <module>
parseit('pages-articles.xml')
File "parse.py", line 33, in parseit
print >>sys.stderr, "bad page title", page_title
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128)
Run Code Online (Sandbox Code Playgroud)
因此,正在生成的stderr包含utf8,并且由于某种原因,python在被重定向时拒绝打印非ascii,即使它被定向到/ dev/null(当然python当然不知道).
即使它包含utf8,我如何使python脚本的stderr静音?有没有办法在没有重写这个脚本中的每个打印到stderr?
我正在扩展(不确定这是否是正确的词)在Linq to SQL数据库模型中生成的部分Cart类.
业务逻辑是每个客户只能有一个购物车.如果客户没有购物车,则应该创建; 如果客户有购物车,则应退回.
这是我正在做的事情:
public partial class Cart
{
//the rest of the Cart class is in the .dbml file created by L2S
public Cart(int userId)
{
Cart c = GetCurrentCart(userId);
this.CartId = c.CartId ;
this.UserId = c.UserId;
}
public Cart GetCurrentCart(int userId)
{
Cart currentCart = new Cart();
// if cart exists - get it from DB
//if not - create it, save in DB, and get if right out
//all of this is done with Linq …
Run Code Online (Sandbox Code Playgroud) 我有一个使用参数的命令行,我对此没有任何问题,但每次我想测试应用程序时,我需要编译它,运行CMD,使用CMD中的参数调用应用程序,因为我没有'找到任何解决方案,让我动态地将参数传递给Visual Studio中的控制台任何想法?非常感谢!!
我多次使用eval
红宝石的功能.但我听说有人说eval
s很讨厌.当被问到为什么以及如何,我永远无法得到令人信服的理由不使用它.他们真的很讨厌吗?如果是,以什么方式?评估有哪些"更安全"的选择?
我们是否有任何工具可以对Sybase数据库进行单元测试?
我无法在http://en.wikipedia.org/wiki/List_of_unit_testing_frameworks中找到一个
我正在寻找一个工具,可以让我进行单元测试存储过程.就像我们使用utPLSQL一样.这个工具将被数据库人员用于单元测试.
我有一个指针容器,我想迭代,调用一个成员函数,其参数是一个参考.如何使用STL执行此操作?
我目前的解决方案是使用boost :: bind和boost :: ref作为参数.
// Given:
// void Renderable::render(Graphics& g)
//
// There is a reference, g, in scope with the call to std::for_each
//
std::for_each(
sprites.begin(),
sprites.end(),
boost::bind(&Renderable::render, boost::ref(g), _1)
);
Run Code Online (Sandbox Code Playgroud)
一个相关的问题(我从中派生出我当前的解决方案)是boost :: bind,其函数的参数是引用.这特别询问如何使用boost进行此操作.我问如何在没有提升的情况下完成.
编辑:有一种方法可以做同样的事情,而不使用任何boost
.通过使用std::bind
和朋友相同的代码可以在C++ 11兼容的编译器中编写和编译,如下所示:
std::for_each(
sprites.begin(),
sprites.end(),
std::bind(&Renderable::render, std::placeholders::_1, std::ref(g))
);
Run Code Online (Sandbox Code Playgroud) 我有一个完全用flash开发的网站.现在网站所有者不想转移到更基于文本/ html的网站.所以我打算创建一个替代的基于HTML /文本的网站,googlebot将被重定向到该网站.(通过检查使用者).我的问题是这是谷歌正式允许的吗?
如果没有,那么为什么有许多基于订阅的网站显示与用户相比谷歌的不同数据集?这是允许的吗?
非常感谢你.
这部分"(-name*txt -o -name*html)"让我对代码感到困惑:
find $HOME \( -name \*txt -o -name \*html \) -print0 | xargs -0 grep -li vpn
Run Code Online (Sandbox Code Playgroud)
有人可以解释括号和"-o"吗?"-o"是命令还是参数?我知道括号被"\"转义,但为什么它们适合?
我不确定这是执行以下代码的最佳方式.我不是在另一个foreach的foreach中出售的.这可以用Linq做得更好**吗?
*我明白,更好的可能是
a)更高性能
b)更容易阅读/更优雅
c)以上所有
注意:接受.NET 3.5解决方案:)注意2:两个IList是通过Linq2Sql的多记录集存储过程的结果.
这是make相信代码:
// These two lists are the results from a IMultipleResults Linq2Sql stored procedure.
IList<Car> carList = results.GetResult<Car>().ToList();
IList<Person> people = results.GetResult<Person>().ToList();
// Associate which people own which cars.
foreach(var person in people)
{
var cars = (from c in cars
where c.CarId == person.CarId
select c).ToList();
foreach (var car in cars)
{
car.Person = person;
}
}
Run Code Online (Sandbox Code Playgroud)
干杯:)