我正在学习Python,我一直在玩包.我想知道在包中定义类的最佳方法.似乎在包中定义类的唯一方法是在该包中定义它们__init__.py.来自Java,我有点想为我的类定义单个文件.这是推荐的做法吗?
我想让我的目录看起来像这样:
recursor/
__init__.py
RecursionException.py
RecursionResult.py
Recursor.py
Run Code Online (Sandbox Code Playgroud)
所以,我可以请参阅我的班为recursor.Recursor,recursor.RecursionException和recursor.RecursionResult.这是可行的还是推荐的Python?
我有一个开发服务器,我经常推动代码更改通过Git.每次推送后,我需要手动登录服务器并重新启动管理程序进程.
有没有办法让Supervisor监视文件系统目录以进行更改并重新加载更改过程?
我已将Vagrant配置为使用Rsync共享文件夹,而不是vboxsf默认情况下由VirtualBox提供的(令人难以置信的SLOW)文件系统:
Vagrant.configure("2") do |config|
config.vm.synced_folder ".", "/vagrant", type: "rsync",
rsync__args: ["--verbose", "--archive", "-z"]
end
Run Code Online (Sandbox Code Playgroud)
显然,有更多配置,但我在这里找到了这些说明,它们通常在从主机到访客的同步中工作.
但是,我需要guest才能够同步回主机,因为我的一些构建工具只安装在guest虚拟机上.如何在共享文件夹中双向同步?
我听说使用%大多数编程语言中的模数运算符可以实现这一点.真正的问题是,怎么样?我不熟悉模数是如何工作的,所以我在过去使用它时遇到了困难.鉴于目前的时间是自1970年以来的几秒钟,1307758473.484我怎样才能计算出使用模数的天数,即几小时,即几分钟?
我基本上打算像这样格式化:"5年,10天,12小时,7分钟和18.56秒".我该怎么做?我真的很有兴趣学习这背后的逻辑,对简单的插入式解决方案不感兴趣.
我试图让staticfilestaglib在我的应用程序中运行时遇到一个非常奇怪的问题.我基本上得到以下错误:
'staticfiles' is not a valid tag library: Template library staticfiles not found, tried django.templatetags.staticfiles,django.contrib.admin.templatetags.staticfiles
Run Code Online (Sandbox Code Playgroud)
这是我的模板,它抛出了这个错误:
{% load staticfiles %}
<html>
<head>
{% block stylesheets %}
<link rel="stylesheet" href="{% static "styles/bootstrap-1.2.0.min.css" %}">
{% endblock %}
<title>{% block title %}Tzibor{% endblock %}</title>
</head>
<body>
<h1>It Works!</h1>
{% block scripts %}
<script type="text/javascript" src="{% static "scripts/jquery-1.6.2.min.js" %}"></script>
{% endblock %}
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
这是我的settings.py:
DEBUG = True
TEMPLATE_DEBUG = DEBUG
ADMINS = (
)
MANAGERS = ADMINS
DATABASES = …Run Code Online (Sandbox Code Playgroud) 我基本上有一个这样的值数组:
0.25, 0.24, 0.27, 0.26, 0.29, 0.34, 0.32, 0.36, 0.32, 0.28, 0.25, 0.24, 0.25
Run Code Online (Sandbox Code Playgroud)
上面的数组过于简单,我在实际代码中每毫秒收集1个值,我需要处理我编写的算法的输出,以便在某个时间点之前找到最接近的峰值.我的逻辑失败了,因为在我上面的例子中,0.36它是真正的峰值,但我的算法会向后看,并将最后一个数字0.25视为峰值,因为0.24它之前有一个减少.
目标是获取这些值并将算法应用于它们,这将使它们"平滑"一点,以便我有更多的线性值.(即:我希望我的结果是弯曲的,而不是锯齿状的)
我被告知要对我的值应用指数移动平均滤波器.我怎样才能做到这一点?我读取数学方程式真的很难,我对代码的处理要好得多.
如何处理数组中的值,应用指数移动平均值计算来均匀化它们?
float[] mydata = ...
mySmoothedData = exponentialMovingAverage(mydata, 0.5);
float[] exponentialMovingAverage(float[] input, float alpha) {
// what do I do here?
return result;
}
Run Code Online (Sandbox Code Playgroud) 由于来自Android Studio的一个非常烦人的异常,我似乎无法让我的Android应用程序进行编译:
![]()
Execution failed for task ':myapp-services:compileDebugJava'.
Cannot find System Java Compiler. Ensure that you have installed a JDK (not just a JRE) and configured your JAVA_HOME system variable to point to the according directory.
Run Code Online (Sandbox Code Playgroud)
我在Ubuntu 12.04,我正在运行Oracle的Java 7 JRE/JDK.
在~/.bashrc:
export JAVA_HOME="/usr/lib/jvm/java-7-oracle/"
Run Code Online (Sandbox Code Playgroud)
在android-studio/bin/studio.sh:
export JAVA_HOME="/usr/lib/jvm/java-7-oracle/"
Run Code Online (Sandbox Code Playgroud)
产量javac -version:
javac 1.7.0_51
Run Code Online (Sandbox Code Playgroud)
产量java -version:
java version "1.7.0_51"
Java(TM) SE Runtime Environment (build 1.7.0_51-b13)
Java HotSpot(TM) 64-Bit Server VM (build 24.51-b03, mixed mode)
Run Code Online (Sandbox Code Playgroud)
产量printenv JAVA_HOME …
我在Ansible playbook中有以下角色来确定Packer的已安装版本,如果它与本地变量的版本不匹配,则有条件地安装它:
---
# detect packer version
- name: determine packer version
shell: /usr/local/bin/packer -v || true
register: packer_installed_version
- name: install packer cli tools
unarchive:
src: https://releases.hashicorp.com/packer/{{ packer_version }}/packer_{{ packer_version }}_linux_amd64.zip
dest: /usr/local/bin
copy: no
when: packer_installed_version.stdout != packer_version
Run Code Online (Sandbox Code Playgroud)
问题/烦恼是Ansible将此步骤标记为"已更改":
我想收集这个事实而不标记改变的东西,所以我可以在我的剧本执行结束时可靠地知道,如果事实上已经改变了.
有没有更好的方法去做我上面做的事情?
我有一个简单的项目,我正在尝试重写URL以指向几个PHP脚本.
我在服务器上的当前路径是/ project/engine,我在该目录中删除了一个.htaccess文件来执行我的重写:
RewriteEngine On
RewriteRule ^(get|post)/(\w+)$ $1.$2.php
Run Code Online (Sandbox Code Playgroud)
这是一个非常简单的重写.我基本上想要重写这样的URL:/project/engine/get/class对此:/project/engine/get.class.php.
谁能在这里发现错误?如果我尝试在Web浏览器中访问URL,我会在Apache错误日志中收到404并出现以下错误:
[Wed Dec 29 14:57:17 2010] [error] [client 127.0.0.1] Negotiation: discovered file(s) matching request: /var/www/project/engine/get (None could be negotiated).
Run Code Online (Sandbox Code Playgroud)
我的apache配置文件如下所示:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog /var/log/apache2/error.log
# …Run Code Online (Sandbox Code Playgroud) 我正试图在Android中创建这个简单的布局.

A应该换行以适应其内容并left|center_vertical对齐.
B应尽可能扩大,填补所有空白空间.
C应该是右对齐的,包装以填充其内容并且也是对齐的center_vertical.
这是我的布局:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal"
android:gravity="left|center_vertical">
<!-- A -->
<ImageView android:id="@+id/example_item_icon"
android:layout_width="48px"
android:layout_height="48px"/>
<!-- B -->
<LinearLayout android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:gravity="left|center_vertical"
android:padding="5px">
<TextView android:id="@+id/example_item_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textStyle="bold"/>
<TextView android:id="@+id/example_item_level_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textStyle="bold|italic"
android:lines="1"
android:textSize="10px"/>
</LinearLayout>
<!-- C -->
<TextView android:id="@+id/example_item_count_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textStyle="bold"
android:textSize="14px"/>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
在这种布局中,C被推离屏幕.如何使此布局有效?