小编Dhr*_*hak的帖子

CodeIgniter:如果控制器在文件夹中,则从命令行运行脚本?

如上所述:http: //codeigniter.com/user_guide/general/cli.html

像这样的页面:http: //www.example.com/myController/myFunc/myParam

可以在命令行上运行:

php index.php myController myFunc myParam
Run Code Online (Sandbox Code Playgroud)

我的codeignitor设置有一些文件夹来分组控制器,让我们这样说:

myFolder -> myPageController
         -> myAdminController
Run Code Online (Sandbox Code Playgroud)

所以,网址变成:

http://www.example.com/myFolder/myController/myFunc/myParam

如何在CLI上调用相同的东西?就像是 :

php index.php "myFolder/myController" myFunc myParam
Run Code Online (Sandbox Code Playgroud)

似乎没有用.

php codeigniter command-line-interface codeigniter-2

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

强制PHP json_encode()将索引编码为字符串

我有一个数组设置如下:

$myArray = array();
$myArray[] = "New array item 1";
$myArray[] = "New array item 2";
$myArray[] = "New array item 3";
Run Code Online (Sandbox Code Playgroud)

当我在其上运行json_encode()时,它会输出以下内容:

["New array item 1","New array item 2","New array item 3"]
Run Code Online (Sandbox Code Playgroud)

我想要的是函数将索引编码为字符串:

{"0":"New array item 1","1":"New array item 2","2":"New array item 3"}
Run Code Online (Sandbox Code Playgroud)

所以以后我可以删除说第一项而不影响第二项的索引.

是否有捷径可寻?

php json

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

Django有多个数据库,Django最初是否连接到所有数据库?

MySQL的样本数据库配置:

DATABASES = {
    'auth_db': {
        'NAME': 'auth_db',
        'ENGINE': 'django.db.backends.mysql',
        'USER': 'mysql_user',
        'PASSWORD': 'swordfish',
    },
    'master': {
        'NAME': 'master',
        'ENGINE': 'django.db.backends.mysql',
        'USER': 'mysql_user',
        'PASSWORD': 'spam',
    },
    'slave1': {
        'NAME': 'slave1',
        'ENGINE': 'django.db.backends.mysql',
        'USER': 'mysql_user',
        'PASSWORD': 'eggs',
    },
    'slave2': {
        'NAME': 'slave2',
        'ENGINE': 'django.db.backends.mysql',
        'USER': 'mysql_user',
        'PASSWORD': 'bacon',
    },
}
Run Code Online (Sandbox Code Playgroud)

即使某些数据库根本没有使用,Django最初是否也会连接到所有这些数据库?例如。

对多个数据库使用原始游标

如果您使用多个数据库,则可以使用django.db.connections获取特定数据库的连接(和游标)。django.db.connections是一个类似于字典的对象,它允许您使用其别名检索特定的连接:

从django.db导入连接

cursor = connections ['my_db_alias']。cursor()

所以在这里,1.连接对象包含已经建立的连接?还是在发出游标请求时连接?2.是否可以更改此默认行为并按需建立连接(所有查询均为原始查询,而所有数据库均为MySQL)?

python mysql django

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

如何通过字符串名称引用模块并按字符串名称调用其方法?

模块已导入当前模块(无需动态导入),并具有ALIAS名称.要求是通过别名来引用模块,并调用其功能

当前模块:

import libraries.mymaths.products as myproductlib

def call_func(module_name,method_name):
    # module_name = 'myproductlib' , method_name='mult'
    # how to call myproductlib.mult here ?
Run Code Online (Sandbox Code Playgroud)

getattr(MODULE_REF, method_name) 会帮我引用方法,但是如何通过别名来引用模块?

python

4
推荐指数
2
解决办法
3821
查看次数

SVN列出没有最新结账的目录?

该命令svn list将为我提供当前目录中所有子目录的列表.但是,它仅限于当前版本中存在的目录.

例如.说存储库网址是:

"http://www.example.com/svncode/mainproduct/trunk"和内部主干,有3个目录

trunk/
     1/
     2/
     3/
Run Code Online (Sandbox Code Playgroud)

如果我这样做svn list会显示所有目录1 2 3.现在有人在trunk中进行提交,这会在trunk中添加另一个目录4.有没有办法在没有先更新的情况下检查该目录的存在?由于svn list只提供直到最新的信息svn update,不是后所发生的变化.

背景:我想要检索trunk中存在的最新目录(最大数字表示最新,在这种情况下为4),并且只想检查中继代码库的那部分,而不是完整主干.

linux svn

3
推荐指数
2
解决办法
4603
查看次数

在Python中进行list/dict理解时是否可以访问当前对象?

试图想出一个单行程来实现以下(总结一个键的所有值):

>>> data = [('a',1),('b',3),('a',4),('c',9),('b',1),('d',3)]
>>> res = {}
>>> for tup in data:
...     res[tup[0]] = res.setdefault(tup[0],0) + tup[1]
... 
>>> res
{'a': 5, 'c': 9, 'b': 4, 'd': 3}
Run Code Online (Sandbox Code Playgroud)

单行版本,不使用任何导入,如itertools,集合等.

 { tup[0] : SELF_REFERENCE.setdefault(tup[0],0) + tup[1]  for tup in data }
Run Code Online (Sandbox Code Playgroud)

在Python中是否可以使用对当前正在理解的对象的引用?如果没有,有没有办法在单行中实现这一点而不使用任何导入,即使用基本列表/字典理解和内置函数.

python list-comprehension dictionary-comprehension

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

range()和in_array()行为,我在这里做错了什么?

这是代码,检查输出 - > http://codepad.org/7n7dM54e

<?php

$key = "a";
$array = range("0","7");
echo "array is : \n";
var_dump($array);
echo "key is : $key \n";
echo "in_array result \n";
var_dump(in_array($key,$array)); // why is it true, 'a' is not a "0" string or 0 int
echo "array_search result \n";
var_dump(array_search($key,$array)); // why is it index 0

?>
Run Code Online (Sandbox Code Playgroud)

php arrays

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

MongoDb:使用fifo策略和其他一些条件在对象内部保持固定长度的数组?

我有一些更新的脚本,mongoDb记录如下所示:

{ "_id" : "c12345", "arr" : [
        {
                "i" : 270099850,
                "a" : 772,

        },
        {
                "i" : 286855630,
                "a" : 622,

        }
] }
Run Code Online (Sandbox Code Playgroud)

脚本在对象的"arr"数组中追加元素,使用"pushAll",它工作得很好并且非常快.

我的要求:1.继续修改这些对象,但一旦arr的大小超过1000就处理它们.

  1. 当arr超过1000时,我选择一些重要记录,丢弃一些不太重要的记录,丢弃一些旧记录,并将arr的大小减小到500.

当前实现:1.脚本A从某处获取一些数据,并使用"_id"字段在另一个集合中查找该对象,并将该数据附加到"arr"数组中.

  1. 找到元素时的相同脚本,检查"arr"的大小,如果小于1000,它会正常追加到arr,否则继续处理通过查找修改的PHP对象,修改它,并使用"更新mongo记录"组".

当前的瓶颈:1.我希望更新脚本运行得非常快.Upsert很快,但每条记录的查找和修改操作都比较慢.

想法:1.不要在脚本中处理EXCEEDED项,而是在对象中设置bool标志,并使用单独的Data Cleaner脚本处理它.(但这也要求我在做UPSERT之前找到对象).

  1. 总是在对象中维护一个COUNT变量,它存储当前长度"arr",并在Data cleaner脚本中使用它,它清除通过mongodb查询"count"> 1000获取的所有对象.(因为mongodb不允许使用$ size运算符有范围,目前只有相同的条件,我需要有自己的COUNT计数器)

您可以建议任何其他清洁有效的想法?谢谢 .

mongodb

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

SQL Alchemy性能如果仅用于原始sql?

我打算在Django项目中使用非常简单的原始SQL.例:

SELECT name,doc_id,doc_content,creation_date from doc_table where uid = 'xxx' limit 1 ;

主要要求:

  • 易于进行SQL查询和获取数据 - 例如.如果我使用MySQLdb,我不想重复通过游标进行查询,然后处理元组以获取所需数据的字典.

  • 防止SQL注入和正确的数据转义.

有两种选择,

a)使用SQLAlchemy,即使仅用于原始SQL.

b)使用在MySQLdb上编写的包装器,或者写一个.

我倾向于SQLAlchemy,因为我已经阅读了很多关于它的好东西.

如果我打算仅将它用于简单的原始SQL,那么使用SQLAlchemy会有任何显着的性能开销,例如CPU使用率,内存使用情况与更简单的MySQLdb包装器相比.所有其他SQLAlchemy电池都没有多大用处.

python django sqlalchemy mysql-python

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

在python中将位映射到字符的好pythonic方法?

the_map = { 1:'a',0:'b'}

现在要产生8种模式ab中,我们创建8种模式:

>>> range(8)
[0, 1, 2, 3, 4, 5, 6, 7]
# 001,010,011....111
Run Code Online (Sandbox Code Playgroud)

如何将位映射到字符'a'和'b',以接收如下输出:

['aaa','aab','aba'.......'bbb']
Run Code Online (Sandbox Code Playgroud)

我正在寻找一个高效的一个班轮.我使用翻译或格式的方法对我来说似乎有点低效:

>>> import string
>>> [bin(x)[2:].zfill(3).translate(string.maketrans('01','ab')) for x in xrange(8)]
['aaa', 'aab', 'aba', 'abb', 'baa', 'bab', 'bba', 'bbb']
Run Code Online (Sandbox Code Playgroud)

python

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

如果已经授权的用户现在需要更多权限,如何在canvas应用程序中的signed_request中获取access_token?

让我们假设一个画布应用程序的以下情况:

i)第1天: - 创建需要read_stream,publish_stream,offline_access权限的Facebook应用程序 .当用户第一次访问应用程序时,authorize调用会将用户重定向到权限允许/拒绝屏幕,并且当用户允许时将用户重定向回画布URL.

画布URL在其请求参数中的签名请求中具有access_token,然后可以使用该参数来运行应用程序.

下次进入应用程序的同一用户不需要权限对话框,因为如果用户过去授权了应用程序,则signed_request包含acess_token.

代码如下:

if(access_token received from signed request)
// do something with user information
else
// redirect user for authorization flow
Run Code Online (Sandbox Code Playgroud)

ii)第2天: - 现在,假设我想在我的列表中添加一个权限,user_birthday read_stream,publish_stream,offline_access,user_birthday`现在,以下逻辑将出现问题

  if(access_token received from signed request)
    // do something with user information  <-- the access_token does not have new permission
    else
    // redirect user for authorization flow
Run Code Online (Sandbox Code Playgroud)

如果API调用会影响应用程序的性能,那么如何有效地解决这一额外的权限问题呢?我不想使用类似的东西:

https://graph.facebook.com/me/permissions?access_token=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Run Code Online (Sandbox Code Playgroud)

每次加载应用程序以检查与令牌相关的权限.

更新:

共享一个好的方法:存储权限集以及接收它的access_token.例如.如果当前权限是"basic_details-birthday-publish"(让我们称之为1),请将access_token和权限集存储为

user  | access_token  | perm_set
Dhruv      sdfsdfsdf       1
Run Code Online (Sandbox Code Playgroud)

现在,在您的设置中,无论何时需要请求新权限,都要创建一个新的权限集"basic_details-birthday-publish-checkins"(让我们称之为2),

那么你需要只为拥有perm_set = 1的访问令牌的用户显示权限对话框,而不是已经有perm_set = 2的用户,这样就不需要用"/ …

php facebook facebook-graph-api facebook-canvas

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

下载nltk中的所有语料库有什么缺点吗?

假设服务器空间不是限制,是否仍然建议下载选择性语料库而不是全部?

我知道,它会增加某些操作的时间,例如创建 virtualenv。

但是,如果下载选择性语料库,或者全部下载语料库,nltk 的性能是否会有一些差异?

python nltk

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