小编kd8*_*d88的帖子

管道到可执行文件而不在bash中退出/ EOF

我有一个(只读)可执行文件"myexec",我总是执行后跟输入"input1"(一个字符串),然后我继续我的业务""和"退出"我感觉如下:

$ myexec
> input1
> do something else for as long as I like
> exit
Run Code Online (Sandbox Code Playgroud)

我想做的是使用输入"input1" 自动执行"myexec",然后能够"只要我喜欢就做其他事情".从我所看到的,我的选择是:

$ myexec <<< "input1"
Run Code Online (Sandbox Code Playgroud)

要么

$ echo "input1" | myexec
Run Code Online (Sandbox Code Playgroud)

要么

$ myexec << EOF
input1
EOF
Run Code Online (Sandbox Code Playgroud)

但这些方法的问题是它们在读取"input1"后终止"myexec".如何避免EOF /退出/终止?

bash sh

10
推荐指数
2
解决办法
4177
查看次数

在Django中使用复数时人性化句子

在使用Django模板复数过滤器的句子中定义的最佳方法是什么?例如:

<p>
    Your item{{ items|length|pluralize }}
    is/are
    currently being processed and will ship soon.
</p>
Run Code Online (Sandbox Code Playgroud)

django django-templates pluralize

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

Python:为什么不将"next()"称为"__next __()"

我正在使用Python 2.7.

按照惯例,内置类似方法__iter__,__init__,__str__等有双下划线,以确定它们的方式.为什么功能不next()具备此功能?

在这里设有旁边的其他内置功能:https://docs.python.org/2/library/functions.html,这似乎并不像一个非常一致的约定.

python naming-conventions

3
推荐指数
1
解决办法
251
查看次数

关于pythonanywhere的Django教程:运行django-admin shell时遇到麻烦

(Django版本1.9,Python版本3.4.3,使用虚拟环境制作 mkvirtualenv --python=/usr/bin/python3.4 django19)

我一直非常密切地关注Django教程,直到第5部分没有任何问题:

https://docs.djangoproject.com/en/1.9/intro/tutorial05/

虽然严格来说,问题与第5部分无关,但请耐心等待.我正在遵循pythonanywhere框架中的教程,因为最终我想在那里托管一个网站.因此,我也在关注pythonanywhere提供的"关注Django教程":

https://help.pythonanywhere.com/pages/FollowingTheDjangoTutorial

虽然在教程的第5部分的建议中没有预料到我的问题.现在问题 - 在Django教程中的重点是:

要检查错误是否确实存在,请使用Admin创建一个日期位于将来的问题,并使用shell检查方法

在链接到shell之后,我尝试(按照链接中的指示)运行:

django-admin shell --plain
Run Code Online (Sandbox Code Playgroud)

但是,我收到以下错误消息

(django19)19:11 ~/mysite $ django-admin shell --plain
Traceback (most recent call last):
File "/home/me/.virtualenvs/django19/lib/python3.4/site-packages/django/core/management/base.py", line 348, in run_from_argv
self.execute(*args, **cmd_options)
File "/home/me/.virtualenvs/django19/lib/python3.4/site-packages/django/core/management/base.py", line 391, in execute saved_locale = translation.get_language()
File "/home/me/.virtualenvs/django19/lib/python3.4/site-packages/django/utils/translation/__init__.py", line 176, in get_language
return _trans.get_language()
File "/home/me/.virtualenvs/django19/lib/python3.4/site-packages/django/utils/translation/__init__.py", line 57, in __getattr__
if settings.USE_I18N:
File "/home/me/.virtualenvs/django19/lib/python3.4/site-packages/django/conf/__init__.py", line 55, in __getattr__
self._setup(name)
File "/home/me/.virtualenvs/django19/lib/python3.4/site-packages/django/conf/__init__.py", line 41, in _setup
 % (desc, ENVIRONMENT_VARIABLE)) …
Run Code Online (Sandbox Code Playgroud)

python django django-admin pythonanywhere

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

C++:访问大型数据集中的重要成员变量的最有效和简洁的方法

我有一个类,如A包含一个类型的非平凡成员变量LargeType:

class A {
public:
    LargeType SetVariable(LargeType var){_var = var;}
    LargeType GetVariable(){return _var;}
private:
    LargeType _var;
};
Run Code Online (Sandbox Code Playgroud)

我遍历一个非常大的数据集,并在每次迭代中检索一个a类型的对象A.我发现以下代码(每次迭代至少发生一次):

//---- Version#1
LargeType var = a.GetVariable();
if(anotherLargeType == var){ DoSomething();}
DoOperation(var);
Run Code Online (Sandbox Code Playgroud)

运行速度比以下代码慢:

//---- Version#2
if(anotherLargeType == a1.GetVariable();){ DoSomething();}
DoOperation(a1.GetVariable());
Run Code Online (Sandbox Code Playgroud)

我可以理解为什么版本#1比版本#2运行得慢:每次迭代都会调用一个复制构造函数,因此需要做更多的工作.但是,我认为版本#1处理起来更好,而不是必须a1.GetVariable()在一个循环中输入多次.有没有办法重写我的类,以便版本#1和版本#2的性能可比?

c++ performance

0
推荐指数
1
解决办法
80
查看次数