小编Ali*_*lik的帖子

在numpy数组上映射函数的最有效方法

在numpy数组上映射函数的最有效方法是什么?我在当前项目中一直这样做的方式如下:

import numpy as np 

x = np.array([1, 2, 3, 4, 5])

# Obtain array of square of each element in x
squarer = lambda t: t ** 2
squares = np.array([squarer(xi) for xi in x])
Run Code Online (Sandbox Code Playgroud)

但是,这看起来可能非常低效,因为我使用列表解析将新数组构造为Python列表,然后再将其转换回numpy数组.

我们可以做得更好吗?

python performance numpy

264
推荐指数
9
解决办法
32万
查看次数

Git GUI就像MS Windows中的HG Workbench一样

我正在寻找一个好的Git GUI,其外观和工作方式与HG Workbench相同.

有什么有趣的吗?优选免费软件.

git mercurial user-interface

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

json.load()函数给出奇怪的'UnicodeDecodeError:'ascii'编解码器无法解码'错误

我正在尝试使用python .loads()函数读取我保存在文本文件中的JSON文件.我稍后将解析JSON以获取特定值.

我一直收到此错误消息.当我谷歌它,没有结果.

UnicodeDecodeError:'ascii'编解码器无法解码位置> 85298的字节0xc2:序数不在范围内(128)

这是完整的错误消息:

回溯(最近通话最后一个):文件".../FirstDegreeKanyeScript.py",> 10号线,在数据= json.load(DATA_FILE)文件>"/库/框架/ Python.framework /版本/ 3.5/lib目录/ python3.5/JSON/在>它的.py "线路265,负载回程货物(fp.read(),文件>"/库/框架/ Python.framework /版本/ 3.5/lib中/ python3.5 /编码> /ascii.py",第26行,以解码返回codecs.ascii_decode(输入,> self.errors)[0]的UnicodeDecodeError: 'ASCII'编解码器不能在位置85298解码字节为0xC2>:有序不在范围内(128 )

这是我的代码:

import json
from pprint import pprint

with
open("/Users/.../KanyeAllSongs.txt") as data_file:
    data=json.load(data_file)

pprint(data)
Run Code Online (Sandbox Code Playgroud)

我已经尝试添加data.decode('utf-8')json.load,但我仍然得到同样的错误.

任何想法可能是什么问题?

python api parsing json file

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

具有第三方组件的项目目录结构

我必须维护用Delphi编写的旧软件.源树真是一团糟.我正在尝试做两件事:制作干净的目录结构并设置自动构建过程.

现在我已经制作了以下目录树

  \Project
     \build\output   
     \dist\release
     \dist\debug
     \doc
     \env
     \res
     \src

\src目录包含*.pas*.dfm文件和project.dpr.各种资源(图标,图像和字体)都驻留在\res目录中.\env用于创建各种环境以进行调试.IDE已设置为将project.exe构建到此目录中.构建脚本存储在build文件夹中.借助于这些脚本在dist\releasedist\debug文件夹中生成产品分发(在exe中有和没有调试信息)dcc32.exe.build\output用于在IDE内部或构建脚本内部的构建过程中保存dcu文件.

我的方法有一点缺陷.我不能从新的计算机,我的仓库的结账代码开始,开始构建脚本并接收准备使用项目的分配.我需要先打开IDE,安装所需的组件(例如RXLibMemoEx),设置库路径等等.只有在那些步骤之后我才能运行我的构建脚本.

直到上周才出现这个问题.我修改了第三方组件以修复错误(此组件不再维护:-(),所以我必须将此组件的代码添加到我的项目结构中.此时如果我将从我需要检查repo是否有第三方库的代码更改.如果更改了libs的代码,我需要重新编译组件并重新安装它们.

问题

  1. 有没有办法从命令行重新安装Delphi 7中的组件?没有硬编码D7的安装路径有没有办法做到这一点?
  2. 如何在项目树中存储第三方组件的代码?
  3. 我应该放置哪里bpl以及dcu在组件构建期间生产哪些.我应该把它们放在Project\build\output?或者最好将输出放到另一个位置(不要覆盖Delphi设置),但更改项目配置中的库路径?

delphi build-automation components project-structuring

8
推荐指数
2
解决办法
2082
查看次数

python包中的脚本

我开发了python应用程序,我决定将其转换为easy_installpip稍后安装的软件包.我已经使用搜索找到了几个关于python包的目录结构的好资料.请参阅此答案本文.

我创建了以下结构(我在列表中省略了几个文件以使结构更清晰)

Project/
|-- bin/
|-- my_package/
|   |-- test/
|   |   |-- __init__.py
|   |   |-- test_server.py
|   |-- __init__.py
|   |-- server.py
|   |-- util.py
|-- doc/
|   |-- index.rst
|-- README.txt
|-- LICENSE.txt
|-- setup.py           

之后我创建了可执行脚本 server-run

#!/usr/bin/env python
from my_package import server

server.main()

我放入bin目录.如果我安装我的包python setup.py install或通过pip/easy_install一切正常,我可以运行server-run,我的服务器开始处理传入的请求.

但我的问题是如何测试server-run在开发环境中工作(没有事先安装my_package)?此外,我想使用此脚本运行最新的服务器代码以用于开发目的.

开发发生在Project目录中,所以ImportError如果我运行我会得到./bin/server-run

user@host:~/dev/Project/$ ./bin/server-run …

python packaging directory-structure project-structure

8
推荐指数
1
解决办法
3103
查看次数

在requirements.txt中指定大于或等于Git标记

在我的requirements.txt中,我想指定我需要大于或等于特定版本的Python依赖项.如果我想从PyPI安装依赖Python包,我可以这样做:

ExamplePackage>=0.2
Run Code Online (Sandbox Code Playgroud)

但是,如果我想指定要安装的GitHub URL呢?我知道你可以指定一个确切的标签:

-e git://github.com/my-username/ExamplePackage.git@v0.2
Run Code Online (Sandbox Code Playgroud)

但我可以指定一个> =而不是吗?

python git pip

7
推荐指数
1
解决办法
653
查看次数

Git:查找特定文件中特定用户的最后编辑

我有一个项目,源代码是在git的帮助下控制的.

现在我想知道我的队友在特定文件中进行最后编辑的时间.我想找出提交的SHA1或将他的编辑看作差异.

我想我可以使用git log --stat <path/to/file>并查看我的文件被更改的所有提交的列表.

有没有快速的方法呢?

git last-modified blame

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

将__slots__动态添加到导入的类中

请看以下示例:

from foo import Bar

b = Bar
print(b.__slots__)
#Stack trace, no attribute __slots__
Run Code Online (Sandbox Code Playgroud)

然后假设我们要添加一个__slots__属性,因为Bar将创建很多(和很多)实例.

from foo import Bar

CBar = Bar
CBar.__slots__ = ["one", "two", "three"]

b = CBar
print(b.__slots__)
#Success

b.four = 0
print(b.four)
#Prints 0....hmmm....
Run Code Online (Sandbox Code Playgroud)

是否可以从模块导入类并__slots__动态添加属性?

python python-2.7

5
推荐指数
0
解决办法
53
查看次数

在Laravel 5中创建类别的嵌套列表

Laravel刚起步,并且正在尝试为我的应用创建树状类别结构。这是我以前使用过的代码,但仍然无法实现我想要的代码。我的控制器:

public function index()
{
    $categories = Category::with('children')->get();

    return view('backend.categories.index')->with('categories', $categories);
}
Run Code Online (Sandbox Code Playgroud)

我的类别模型:

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Category extends Model
{
    protected $guarded = ['id'];

    public function parent()
    {
        return $this->belongsTo('App\Category', 'parent_id');
    }

    public function children()
    {
        return $this->hasMany('App\Category', 'parent_id');
    }
}
Run Code Online (Sandbox Code Playgroud)

我的看法:

<table class="table table-bordered table-hover">
                <thead>
                    <tr>
                        <th>Name</th>
                        <th>Description</th>
                        <th>Slug</th>
                        <th>Action</th>
                    </tr>
                </thead>
                <tbody>
                @foreach ($categories as $category)
                    {{--@foreach ($category->children as $children)--}}
                    <tr>
                        <td>{{ $category->name }}</td>
                        <td>{{ $category->description }}</td>
                        <td>{{ $category->slug }}</td>
                        <td><a class="edit" href="{!! action('Admin\CategoriesController@edit', …
Run Code Online (Sandbox Code Playgroud)

php laravel-5

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

在mercurial书签的帮助下重现git分支模型

我正在尝试使用Mercurial,我希望借助Bookmark扩展来重现git分支模型.这是问题所在.

想象一下,我有一个故事.我添加了2个书签

user@host:/tmp/hgtest$ hg bookmark main
user@host:/tmp/hgtest$ hg bookmark feature
user@host:/tmp/hgtest$ hg bookmarks 
 * feature                   0:76c6736b4548
   main                      0:76c6736b4548
Run Code Online (Sandbox Code Playgroud)

之后我提交了一些代码,并确定该功能已准备好(不久的将来不会对此功能进行开发).此时书签指向不同的提交.

user@host:/tmp/hgtest$ hg bookmarks
 * feature                   2:9d32bb6bdbc6
   main                      0:76c6736b4548
Run Code Online (Sandbox Code Playgroud)

现在我回到我开始开发我的功能的状态

user@host:/tmp/hgtest$ hg up main
resolving manifests
removing second.file
getting first.file
1 files updated, 0 files merged, 1 files removed, 0 files unresolved
Run Code Online (Sandbox Code Playgroud)

我想发出merge命令,以使历史图看起来像这样

user@host:/tmp/test-git$ git log --graph
*   commit d8a957350fc8fbaf542e20aac0d4c95477cc2d3c
|\  Merge: 20493a7 7b59a16
| | Author: Author
| | Date:   Mon Jul 11 18:35:09 2011 +1100
| | 
| …
Run Code Online (Sandbox Code Playgroud)

git mercurial git-branch

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