小编EMP*_*EMP的帖子

如何告诉PyLint"它是变量,而不是常量"来停止消息C0103?

我的Python 2.6程序中有一个名为"_log"的模块级变量,PyLint抱怨说:

C0103: Invalid name "_log" (should match (([A-Z_][A-Z0-9_]*)|(__.*__))$)
Run Code Online (Sandbox Code Playgroud)

读完这个答案后,我理解为什么会这样做:它认为变量是常量并应用常量正则表达式.但是,我不同意:我认为这是一个变数.我怎么告诉PyLint,所以它没有抱怨?PyLint如何确定它是变量还是常量 - 它是否只将所有模块级变量视为常量?

python pylint

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

如何从sqlite读取datetime作为日期时间而不是Python中的字符串?

我正在使用Python 2.6.4中的sqlite3模块在SQLite数据库中存储日期时间.插入它非常简单,因为sqlite会自动将日期转换为字符串.问题是,当它读取它时它会以字符串形式返回,但我需要重建原始日期时间对象.我该怎么做呢?

python sqlite datetime

62
推荐指数
2
解决办法
5万
查看次数

无法访问以管理员身份运行的PowerShell中的网络驱动器

我在Windows 7 x64虚拟机中运行PowerShell.我在主机上有一个共享文件夹映射为网络驱动器(Z :).当我正常运行PS时,我可以正常访问该驱动器,但如果我以"管理员"的身份运行它,它会告诉我:

Set-Location : Cannot find drive. A drive with the name 'Z' does not exist.
At line:1 char:13
+ Set-Location <<<<  Z:
    + CategoryInfo          : ObjectNotFound: (Z:String) [Set-Location], DriveNotFoundException
    + FullyQualifiedErrorId : DriveNotFound,Microsoft.PowerShell.Commands.SetLocationCommand
Run Code Online (Sandbox Code Playgroud)

如何以管理员身份访问网络驱动器?

powershell uac unc

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

rm无法通过通配符从脚本中删除文件,但是从shell提示符开始工作

我遇到了Linux shell脚本的一个非常愚蠢的问题.我想在目录中删除扩展名为".bz2"的所有文件.在我打电话的脚本中

rm "$archivedir/*.bz2"
Run Code Online (Sandbox Code Playgroud)

其中$ archivedir是目录路径.应该很简单,不应该吗?不知何故,它设法失败并出现此错误:

rm: cannot remove `/var/archives/monthly/April/*.bz2': No such file or directory
Run Code Online (Sandbox Code Playgroud)

但是,在该目录名为test.bz2一个文件,如果我改变我的脚本

echo rm "$archivedir/*.bz2"
Run Code Online (Sandbox Code Playgroud)

并将该行的输出复制/粘贴到终端窗口中,成功删除该文件.我究竟做错了什么?

linux bash shell

54
推荐指数
3
解决办法
5万
查看次数

将bash脚本参数传递给子进程不变

我想编写一个简单的bash脚本,它将充当可执行文件的包装器.如何将脚本接收的所有参数传递给可执行文件?我试过了

/the/exe $@
Run Code Online (Sandbox Code Playgroud)

但这不适用于引用的参数,例如.

./myscript "one big parameter"
Run Code Online (Sandbox Code Playgroud)

运行

/the/exe one big parameter
Run Code Online (Sandbox Code Playgroud)

这不是一回事.

parameters bash scripting

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

在非交互式运行时,PsExec卡在许可证提示上

我有一个Hudson构建脚本调用SysInternals PsExec实用程序.通常,当给定用户第一次运行PsExec时,它会弹出一个对话框,要求用户接受许可.构建代理作为服务运行,我可以看到构建卡在PsExec上.Process Explorer显示PsExec正在运行,因此我强烈怀疑它正在显示相同的提示,但由于它以非交互方式运行,因此无法接受提示.有没有办法解决这个愚蠢的限制?在Windows Server 2008 R2 x64上运行.

windows-services psexec sysinternals

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

即使在登录时也删除SQL登录

在作为集成测试执行的一部分删除SQL Server 2008登录时,我有时会收到以下错误:

System.Data.SqlClient.SqlException:无法在用户当前登录时删除登录"SomeTestUser".

我不在乎它是否已登录 - 我仍然想放弃它.最简单的方法是什么?

sql sql-server sql-server-2008

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

测试需要使用RequestFactory登录的Django视图

我是Django的新手,我想对需要用户登录的视图进行单元测试(@login_requred).Django友好地提供了RequestFactory,我理论上可以使用它来直接调用视图:

factory = RequestFactory()
request = factory.get("/my/home/url")
response = views.home(request)
Run Code Online (Sandbox Code Playgroud)

但是,呼叫失败了

AttributeError: 'WSGIRequest' object has no attribute 'session'
Run Code Online (Sandbox Code Playgroud)

显然,这是有意的,但是这会让我离开?如何测试需要身份验证的视图(在我的情况下是所有视图)?或者我完全采取了错误的做法?

我正在使用Django 1.3和Python 2.7.

python django unit-testing django-views

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

在一个命令中选择或插入一行

我正在使用PostgreSQL 9.0,我有一个只有一个人工密钥(自动递增序列)和另一个唯一密钥的表.(是的,这个表有一个原因.:))我想通过另一个键查找一个ID,如果它不存在,则插入它:

SELECT id
FROM mytable
WHERE other_key = 'SOMETHING'
Run Code Online (Sandbox Code Playgroud)

然后,如果没有匹配:

INSERT INTO mytable (other_key)
VALUES ('SOMETHING')
RETURNING id
Run Code Online (Sandbox Code Playgroud)

问题:是否可以通过在一个语句中执行这两个操作来保存到DB的往返?如果它不存在,我可以插入行:

INSERT INTO mytable (other_key)
SELECT 'SOMETHING'
WHERE NOT EXISTS (SELECT * FROM mytable WHERE other_key = 'SOMETHING')
RETURNING id
Run Code Online (Sandbox Code Playgroud)

...但是这不会给出现有行的ID.有任何想法吗?如果有帮助,对other_key有一个唯一约束.

postgresql

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

用psycopg2转义Postgres的SQL"LIKE"值

psycopg2是否有一个函数来转义Postgres 的LIKE操作数的值?

例如,我可能想要匹配以字符串"20%of all"开头的字符串,所以我想写这样的东西:

sql = '... WHERE ... LIKE %(myvalue)s'
cursor.fetchall(sql, { 'myvalue': escape_sql_like('20% of all') + '%' }
Run Code Online (Sandbox Code Playgroud)

我可以在这里插入一个现有的escape_sql_like函数吗?

(类似的问题如何显式引用字符串值(Python DB API/Psycopg2),但我找不到答案.)

python postgresql psycopg2 python-db-api

31
推荐指数
6
解决办法
2万
查看次数