小编Che*_*Xie的帖子

将Python代码转换为符合PEP8的工具

我知道有一些工具可以验证你的Python代码是否符合PEP8,例如,有一个在线服务一个python模块.

但是,我找不到可以我的Python文件转换为自包含的PEP8有效Python文件的服务或模块.有谁知道有没有?
我认为这是可行的,因为PEP8完全是关于代码的外观,对吗?

python coding-style pep8

104
推荐指数
5
解决办法
6万
查看次数

找不到Python模块"cx_Oracle"模块

我最近在我的机器上安装了cx_Oracle模块,以便连接到远程Oracle数据库服务器.(我身边没有Oracle客户端).

  • Python:版本2.7 x86
  • Oracle:Verision 11.1.X x64
  • Cx_Oracle:优化版本 - 5.1.2-11g.win32-py2.7

然后每次我运行我的脚本时,它都会失败并打印以下消息:

ImportError:DLL加载失败:找不到指定的模块.

我在Here找到了一个相关的帖子,所以我想知道我是否必须在我这边调用python脚本的Oracle客户端.

谁能帮我吗?提前致谢.

python oracle cx-oracle module

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

未知权限签署的“ docker pull”证书

我试图从Docker注册表中提取Docker映像,但遇到以下问题:

$ docker pull <docker registry>/<image name>/<tag> 
Error response from daemon: Get <docker registry>/v1/_ping: x509: certificate signed by unknown authority
Run Code Online (Sandbox Code Playgroud)

我尝试使用“ curl”并得到类似的错误消息:

 curl performs SSL certificate verification by default, using a "bundle"
 of Certificate Authority (CA) public keys (CA certs). If the default
 bundle file isn't adequate, you can specify an alternate file
 using the --cacert option.
Run Code Online (Sandbox Code Playgroud)

因此,我使用以下命令下载了CA证书并导入到服务器(RedHat Linux 7)中:

cp root_cert.cer /etc/pki/ca-trust/source/anchors/
update-ca-trust
Run Code Online (Sandbox Code Playgroud)

导入根证书后,我可以看到curl它工作正常,因为它不会抱怨证书错误,但是,如果我使用,docker pull我仍然会遇到同样的问题。是docker使用不同于CA证书的位置curldocker pull在这种情况下如何解决该问题?

ssl curl docker

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

如何转义`jq`中的单引号

我正在尝试使用预期输出来格式化 json 字符串,jq如下所示:

[
  {
    "command": [
      "printf 'this is a text'"
    ]
  }
]
Run Code Online (Sandbox Code Playgroud)

但是,我无法让它适用于单引号('),例如$ jq -n '[{"command": ["printf 'this is a text'"]}]'给我一个编译错误。

我还考虑过转义所有双引号,例如jq -n "[{\"command\": [\"printf 'this is a text'\"]}]",这很好,但是 json 字符串是从函数传入的,我可以\"先替换所有双引号,然后运行 ​​jq 命令,但这不是很优雅。

有没有更好的方法来处理 json 字符串中的单引号?

shell formatting json quotation-marks jq

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

Java"x + = y"和"x = x + y"产生不同的结果

我想出了两个表达式来将位操作赋值给变量,并注意到"x + = y"和"x = x + y"在这种情况下产生了不同的结果:

public void random () 
{
        int n =     43261596;
        System.out.println(Integer.toBinaryString(n));
        n = n + 0&1; //binary representation of n is 0
        //n += 0&1;  //result is the same as n
        System.out.println(Integer.toBinaryString(n));
}
Run Code Online (Sandbox Code Playgroud)

我做了一些研究,发现唯一的情况是"x + = y"和"x = x + y"不等同于当操作类型不相同时,但是在这种情况下,"n"是类型的int,并且"0&1" "应该是一种类型int(根据这个问题为什么两个短值的按位AND会导致Java中的int值?:

因为Java语言规范说非长整数运算的结果总是int.)

所以我想知道它为什么产生不同的结果.

java casting bit-manipulation

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

Python:如何在使用'for'循环时获得更多控制权?

我有以下代码,所以当发生任何异常时,重新执行此循环,而不是跳转到下一个循环.请注意这里的伪代码确实按预期工作:

for cl in range(0, 10):
    try:
        some_function(cl)
    except :
        cl -= 1
Run Code Online (Sandbox Code Playgroud)

我的主动性是,一旦出现问题,再做一次.显然,这不是一个有效的想法.所以假设for循环和range function正在使用,如何实现我描述的控件?

谢谢

python for-loop

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

MySQL:对ANALYZE TABLE的随机效果

我有3个innodb表,比如说A,B和C.有一个查询可以连接这三个表来生成结果.

SELECT A.a, B.b, C.c
from A 
join B on A.id = B.a_id 
join C on C.id = B.c_id
where A.a = 'example' and B.b < 10;
Run Code Online (Sandbox Code Playgroud)

在我使用'EXPLAIN'命令测试查询时,它给出了以下顺序:

B - C - A.

但是,这不是最佳的.所以我对所有表运行'ANALYZE TABLE',它给了我:

A - B - C.

,我相信这是正确的顺序.

然后我将SQL部署到生产中,并且无缘无故地,在1个月之后,执行计划切换回坏选项,即B-C-A.在那之后,我尝试了多次ANALYZE TABLE再次运行,但这一次,结果让我感到困惑.有时它也会给我B - C - A,有时它会给我A - B - C,有时甚至是其他执行计划.

所以我的问题是:

  1. 为什么部署后执行计划会发生变化?
  2. 除了固定执行计划(数据得到更新和快速变化,因此最佳计划可能在未来发生变化),有没有办法保证始终确保最佳计划?

mysql indexing explain sql-execution-plan

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

如何在Linux中的文件夹中获取第二个最新文件

找到了几个像这样的帖子来告诉如何找到文件夹里面的最新文件.

我的问题是前进一步,如何在同一个文件夹中找到第二个最新文件?目的是我正在寻找一种方法来diff使用以前的日志记录最新的日志,以便了解已更改的内容.日志是每天生成的.

linux shell

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

如何在静默模式下安装Oracle数据库时忽略可选的先决条件?

我指的PAGE是以静默方式安装Oracle 11g数据库.

安装时,有一些可以忽略的可选先决条件:

   CAUSE: Some of the optional prerequisites are not met. See logs for details. /oratmp/OraInstall2013-12-22_12-14-09PM/installActions2013-12-22_12-14-09PM.log
   ACTION: Identify the list of failed prerequisite checks from the log: /oratmp/OraInstall2013-12-22_12-14-09PM/installActions2013-12-22_12-14-09PM.log. Then either from the log file or from installation manual find the appropriate configuration to meet the prerequisites and fix it manually.
Run Code Online (Sandbox Code Playgroud)

这与基于GUI的安装方法不同,我可以选择忽略这些警告,但是,我没有看到静默安装是否提供了类似的方法来跳过这些警告.

有任何想法吗?

更新:

那些失败的先决条件是缺少一些库文件,例如

INFO: INFO: Package: compat-libcap1-1.10: This is a prerequisite condition to test whether the package "compat-libcap1-1.10" is available on the system.
INFO: INFO: Severity:IGNORABLE …
Run Code Online (Sandbox Code Playgroud)

oracle oracle11g silent-installer

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

如何在每个工作日运行 Google App Engine cron 作业?

完整的描述是:

cron太平洋时间每个工作日(周一至周五)从上午 8:00 到下午 5:00,每 15 分钟运行一次作业。此外,最好能根据夏令时的变化进行调整

如何在 GAE 中的 cron.yaml 中做到这一点?

cron google-app-engine

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

为什么计数节点不工作?

示例XML:

<test name="1" result="Passed" starttimestamp="2013-05-07 10:10:44.361 -0700" endtimestamp="2013-05-07 10:10:45.361 -0700" elapsed="1" />
<test name="2" result="Passed" starttimestamp="2013-05-07 10:10:45.362 -0700" endtimestamp="2013-05-07 10:10:46.362 -0700" elapsed="1" />
<test name="3" result="Passed" starttimestamp="2013-05-07 10:10:46.363 -0700" endtimestamp="2013-05-07 10:10:53.365 -0700" elapsed="7" />
<test name="4" result="Passed" starttimestamp="2013-05-07 10:10:53.365 -0700" endtimestamp="2013-05-07 10:11:39.374 -0700" elapsed="46" />
Run Code Online (Sandbox Code Playgroud)

首先,我试过了

xpath somefile.xml test
Run Code Online (Sandbox Code Playgroud)

它给了我:

<test name="1" result="Passed" starttimestamp="2013-05-07 10:10:44.361 -0700" endtimestamp="2013-05-07 10:10:45.361 -0700" elapsed="1" />-- NODE --
<test name="2" result="Passed" starttimestamp="2013-05-07 10:10:45.362 -0700" endtimestamp="2013-05-07 10:10:46.362 -0700" elapsed="1" />-- NODE --
<test name="3" result="Passed" starttimestamp="2013-05-07 …
Run Code Online (Sandbox Code Playgroud)

xml bash perl xpath

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

Shell:如何评估具有两个以上操作数的算术表达式

我已经阅读了几篇文章,但他们正在谈论两个操作数

我有以下要评估的表达式:

sum = a/b*100

在bash shell中,我可以这样做:

bash-4.1$ a=5
bash-4.1$ b=10
bash-4.1$ sum=`expr $a / $b`
bash-4.1$ echo $sum
0
Run Code Online (Sandbox Code Playgroud)

但是,我做不到:

bash-4.1$ sum=`expr $a / $b * 100`
expr: syntax error
Run Code Online (Sandbox Code Playgroud)

bash shell expression

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