小编Pra*_*mar的帖子

当前文件的路径取决于我执行程序的方式

这是我的Python程序:

#!/usr/bin/env python

import os

BASE_PATH = os.path.dirname(__file__)
print BASE_PATH
Run Code Online (Sandbox Code Playgroud)

如果我使用python myfile.py它运行它打印一个空字符串.如果我使用它myfile.py,它会打印正确的路径.为什么是这样?我正在使用Windows Vista和Python 2.6.2.

python path

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

测试使用tty stdin和stdout的程序

我有一个由两部分组成的软件:一部分是在第一台PC上运行的python,另一部分是在第二部分上运行的cpp.它们通过串口(tty)进行通信.

我想在我的电脑上测试python端,用适当的数据提供它,看它是否按预期运行.

我开始使用子进程,但后来出现了问题:我应该提供哪个stdin和stdout?

cStringIO 不起作用,因为没有 fileno()

PIPE也不起作用,因为select.select()即使实际上没有发送任何内容,也有可读的内容

你有什么提示吗?我可以使用假的tty模块吗?

c++ python stdin stdout tty

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

按任意步长旋转数组,而不创建第二个数组

因此,对于步长为1,我想要数组:

{1, 2, 3, 4}
Run Code Online (Sandbox Code Playgroud)

成为:

{4, 1, 2, 3}
Run Code Online (Sandbox Code Playgroud)

对于大小为2的步骤,结果将是:

{3, 4, 1, 2}
Run Code Online (Sandbox Code Playgroud)

这是我现在使用的代码:

private static int[] shiftArray(int[] array, int stepSize) {
  if (stepSize == 0)
     return array;

  int shiftStep = (stepSize > array.length ? stepSize % array.length : stepSize);

  int[] array2 = new int[array.length];
  boolean safe = false;
  for (int i = 0; i < array.length; i++) {
     if (safe) {
        array2[i] = array[i - shiftStep];
     }
     else {
        array2[i] = array[array.length - shiftStep + i];
        safe …
Run Code Online (Sandbox Code Playgroud)

java arrays algorithm performance

4
推荐指数
1
解决办法
986
查看次数

清除numpy数组的元素

有没有一种简单的方法来清除 numpy 数组的所有元素?我试过:

删除数组名

这将完全删除数组。我在迭代数千次的 for 循环中使用这个数组,所以我更喜欢保留数组但每次都用新元素填充它。

我尝试了 numpy.delete,但对于我的要求,我没有看到使用子数组规范。

*编辑*:

数组大小不会相同。

我在开始时在循环内分配空间,如下所示。如果这是错误的方法,请纠正我:

arrname = arange(x*6).reshape(x,6)
Run Code Online (Sandbox Code Playgroud)

我读取了一个数据集并为数据集中的每个元组构造了这个数组。我所知道的是列数将是相同的,但行数不是。例如,第一次我可能需要一个大小为 (3,6) 的数组,下一个元组为 (1,6),下一次为 (4,6) 等等。我填充数组的方式如下:

arrname[:,0] = lstname1
arrname[:,1] = lstname2
...
Run Code Online (Sandbox Code Playgroud)

换句话说,这些列是从由元组构造的列表中填充的。因此,在下一个循环开始之前,我想清除它的元素并使其为连续循环做好准备,因为我不希望上一个循环的残余混合当前内容。

python arrays numpy

4
推荐指数
1
解决办法
4万
查看次数

为以下类型的声明分配的内存大小是否有任何区别:

一世) static int a, b, c;

II) int a; int b; int c;

我不确定如何为这些类型的声明分配内存.如果这些声明不同,那么为每个声明分配多少内存?

c

4
推荐指数
1
解决办法
143
查看次数

从无网址(即主页)路由到操作

我目前正在开发一个仅框架项目,我的路由设置如下:

---
Name: app
After: 'framework/routes'
---
Director:
  rules:
    '$Action/$ID/$OtherID': 'MainController'
Run Code Online (Sandbox Code Playgroud)

我的控制器是这样的:

<?php

class MainController extends Controller {

    static $allowed_actions = array('build');

    public function init() {
        parent::init();
    }

    public function index() {
        echo $this->Action;
        die;
    }

    public function build(){
        echo 'build';
        die;
    }
Run Code Online (Sandbox Code Playgroud)

index当我去的时候网站总是吐出来/build然而访问/adadsa/build会给我想要的回声结果build,如何设置我的路由到我的控制器/显示的URL index,并/build显示构建的结果?

silverstripe

4
推荐指数
1
解决办法
1886
查看次数

C++中的Fibonacci系列

#include <iostream>

using namespace std;

int main()
{
    int num1 = 0;
    int num2 = 1;
    int num_temp;
    int num_next = 1;
    int n;
    cin >> n;
    for (int i = 0; i < n; i++){
        cout << num_next << "  ";
        num_next = num1 + num2;
        num1 = num2;
        num_temp = num2;
        num2 = num_next - num1;
        num1 = num_temp;
    }
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我必须输出第一个"n"斐波纳契数,但我认为逻辑上存在一些问题.我无法找出我做错了什么.前3或4个元素是正确的,但后来出现问题......

预期:
n=9

0,1,1,2,3,5,8,13,21

实际:

1 1 1 1 1 1 1 1 1

c++ fibonacci

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

django独特在一起不适用于没有日期时间

我正在使用django 1.5.5和python 2.7和MySQL

这是我的模特

class Foo(models.Model):
     user = models.ForeignKey(User)
     date = models.DateTimeField(null=True, blank=True,editable=True)

     class Meta:
         unique_together = ('user', 'date')
Run Code Online (Sandbox Code Playgroud)

如果我使用这个,我可以添加2条相同的用户和一个空日期的记录.
我希望即使是空日期也要强制执行.

table create命令

CREATE TABLE `management_foo` 
(  `id` int(11) NOT NULL AUTO_INCREMENT,  
   `user_id` int(11) NOT NULL, 
   `date` datetime DEFAULT NULL,  
    PRIMARY KEY (`id`),  
    UNIQUE KEY `user_id` (`user_id`,`date`),  
    KEY `management_foo_6232c63c` (`user_id`),  
    CONSTRAINT `user_id_refs_id_d47e5747` FOREIGN KEY (`user_id`) 
    REFERENCES `auth_user` (`id`)) 
    ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=latin1
Run Code Online (Sandbox Code Playgroud)

和表描述

+-------------+--------------+------+-----+---------+----------------+  
| Field       | Type         | Null | Key | Default | Extra          |  
+-------------+--------------+------+-----+---------+----------------+  
| id …
Run Code Online (Sandbox Code Playgroud)

python django orm model

4
推荐指数
1
解决办法
2023
查看次数

矩阵中每行特定情况的计数

我对 numpy 和科学计算相当陌生,我为一个问题苦苦挣扎了好几天,所以我决定将其发布在这里。

我正在尝试获取 numpy 数组中某个条件的特定出现次数的计数。

In [233]: import numpy as np

In [234]: a= np.random.random([5,5])

In [235]: a >.7
Out[235]: array([[False,  True,  True, False, False],
   [ True, False, False, False,  True],
   [ True, False,  True,  True, False],
   [False, False, False, False, False],
   [False, False,  True, False, False]], dtype=bool)
Run Code Online (Sandbox Code Playgroud)

我想计算True每行中出现的次数并在该计数达到某个阈值时保留行:

前任 :

results=[]
threshold = 2

for i,row in enumerate(a>.7):
  if len([value for value in row if value==True]) > threshold:
     results.append(i) # keep ids for each row that …
Run Code Online (Sandbox Code Playgroud)

python numpy

4
推荐指数
1
解决办法
2662
查看次数

向量迭代循环抛出错误?

for (std::vector<int>::iterator it = v.begin(); it != v.end(); ++it)
Run Code Online (Sandbox Code Playgroud)

错误:从'std :: vector :: const_iterator {aka __gnu_cxx :: __ normal_iterator>}'转换为非标量类型'std :: vector :: iterator {aka __gnu_cxx :: __ normal_iterator>}'

这是怎么回事?

c++ vector

4
推荐指数
1
解决办法
3474
查看次数

标签 统计

python ×5

c++ ×3

arrays ×2

numpy ×2

algorithm ×1

c ×1

django ×1

fibonacci ×1

java ×1

model ×1

orm ×1

path ×1

performance ×1

silverstripe ×1

stdin ×1

stdout ×1

tty ×1

vector ×1