小编Sup*_*Man的帖子

优化的方式来计算条件的行数

我已经看到计算文件中行数的快速方法是这样做:

n_lines=sum(1 for line in open(myfile))
Run Code Online (Sandbox Code Playgroud)

我想知道是否有可能在sum函数中加入一些条件以便得到类似的东西:

n_lines=sum(1 for line in open(PATHDIFF) if line=='\n' break if line.startswith('#') continue)
Run Code Online (Sandbox Code Playgroud)

先感谢您.

python

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

等于java中的方法

我已经阅读了equals()java中的方法.我听说它仅基于价值进行比较.但是为什么它会在我的情况下返回false,其中值相同但类型不同?

public class test {
    public static void main(String[] args) 
    {
        String s1="compare";
        StringBuffer s2=new StringBuffer("compare");
        System.out.println(s1.equals(s2));  //false 
    }
}
Run Code Online (Sandbox Code Playgroud)

java equals

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

如何在google recaptcha中设置本地化

我在我的网络应用程序中使用谷歌recaptcha.我的网络应用程序适用于英语和法语.是否可以在我的google recaptcha中添加本地化?

javascript java recaptcha

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

在创建2D数组/列表时遇到问题

我在创建2D排列列表时遇到了困难.这是重现问题的最小代码

class Solution:
def permute(self, A):
    A = sorted(A)
    print A
    A_out = []
    A_out.append(A)
    for iter0 in range(4):
        A[0] = A[0] + 1
        print A
        A_out.append(A)
    return A_out

sol = Solution()
A = [1, 2, 3]
print sol.permute(A)
Run Code Online (Sandbox Code Playgroud)

对于此特定输入(1,2,3),输出为

[1, 2, 3]
[2, 2, 3]
[3, 2, 3]
[4, 2, 3]
[5, 2, 3]
[[5, 2, 3], [5, 2, 3], [5, 2, 3], [5, 2, 3], [5, 2, 3]]
Run Code Online (Sandbox Code Playgroud)

但是所需的输出是

[1, 2, 3]
[2, 2, 3]
[3, 2, 3] …
Run Code Online (Sandbox Code Playgroud)

python arrays list shallow-copy

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

为什么我的活动没有冒泡

这是一些演示代码:

<div id="test">
    <div class="child">
        click
    </div>
</div>
<script>
   document.addEventListener('click', function (e) {
       if(e.target.classList.contains('child')){
           console.log('child')
       }
       if(e.target.id==='test'){
           console.log('test')
       }
       if(e.target.tagName === 'HTML'){
           console.log('html')
       }
   }, false)
</script>
Run Code Online (Sandbox Code Playgroud)

当我单击文本时,控制台仅记录'child'.为什么click事件没有冒泡到parentNode #test?即使是html元素也无法获得click事件.

任何人都可以解释问题是什么?

javascript

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

array_flip以逗号分隔格式打印重复值

我正在尝试使用array_flip逗号分隔格式打印重复值

$a=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"blue");
$flip=array_flip($a);
print_r($flip);
Run Code Online (Sandbox Code Playgroud)

我的输出是:

Array ( [red] => a [green] => b [blue] => d )
Run Code Online (Sandbox Code Playgroud)

但我的预期输出是:

Array ( [red] => a [green] => b [blue] => c,d)
Run Code Online (Sandbox Code Playgroud)

我怎样才能得到那个输出?

php arrays

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

使用 Google Drive 获取 WebViewLinks

我刚刚开始尝试使用 Google Drive API。使用快速入门指南设置身份验证,我可以打印我的文件列表,甚至可以制作副本。一切都很好,但是我在尝试访问 Drive 上的文件中的数据时遇到了问题。特别是,我试图获得一个WebViewLink,但是当我打电话时,.get我只收到一个几乎没有任何文件元数据的小字典。该文档使其看起来所有数据默认都应该在那里,但它没有出现。我找不到任何方法来标记请求任何其他信息。

credentials = get_credentials()
http = credentials.authorize(httplib2.Http())
service = discovery.build('drive', 'v3', http=http)

results = service.files().list(fields="nextPageToken, files(id, name)").execute()
items = results.get('files', [])
if not items:
    print('No files found.')
else:
    print('Files:')
    for item in items:
        print(item['name'], item['id'])
        if "Target File" in item['name']:
            d = service.files().get(fileId=item['id']).execute()
            print(repr(d))
Run Code Online (Sandbox Code Playgroud)

这是上面代码的输出:(格式是我做的)

{u'mimeType': u'application/vnd.google-apps.document', 
 u'kind': u'drive#file',
 u'id': u'1VO9cC8mGM67onVYx3_2f-SYzLJPR4_LteQzILdWJgDE',
 u'name': u'Fix TVP Licence Issues'}
Run Code Online (Sandbox Code Playgroud)

对于那些对代码感到困惑的人来说,缺少一些只是get_credentialsAPI快速入门页面中的基本功能以及一些常量和导入。为了完整起见,这里是我的代码中未修改的所有内容:

from __future__ import print_function
import httplib2
import os …
Run Code Online (Sandbox Code Playgroud)

python python-2.7 google-drive-api

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

如何确定传递给命令行的字符串子进程?

在 Windows 上,您可以通过传递字符串参数列表来进行子进程调用,然后将这些参数重新格式化为单个字符串以调用相关命令。它通过一系列的规则,如文档中轮廓做到这一点在这里

在 Windows 上,args 序列被转换为可以使用以下规则(对应于 MS C 运行时使用的规则)解析的字符串:

  1. 参数由空格分隔,空格或制表符。
  2. 被双引号包围的字符串被解释为单个参数,而不管其中包含的空格。带引号的字符串可以嵌入到参数中。
  3. 以反斜杠开头的双引号被解释为文字双引号。
  4. 反斜杠按字面解释,除非它们紧跟在双引号之前。
  5. 如果反斜杠紧跟在双引号之前,则每一对反斜杠都被解释为文字反斜杠。如果反斜杠的数量是奇数,则最后一个反斜杠按照规则中的描述转义下一个双引号

然而,在实践中,这很难做到正确,因为不清楚字符串是如何被解释的。在弄清楚如何正确格式化命令时可能会反复试验。

有没有办法可以确定将制定什么字符串子流程?这样我就可以检查它并确保它被正确地制定以及记录它比仅仅记录命令的列表形式更好。

python windows subprocess

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

文件结尾处出现意外缩进错误

由于某种原因,我在IDLE的python文件的末尾我得到一个缩进错误,即使代码块有适当的间距.此外,当我尝试运行并告知错误时,它实际上突出显示代码之后的整行,而不是像通常那样突出显示错误缩进代码行之前的字符.

这是一个截图,展示了它的亮点: 语法错误突出显示不寻常的位置

作为参考,这是突出显示一个明显真实的缩进问题时的外观: 语法错误突出显示正常位置

代码本身在此表单中存在问题:

if yes.lower() == 'y': linkFiles(folders)
raw_input(iprint('= Script Finished, press enter to quit.',True))
Run Code Online (Sandbox Code Playgroud)

这个形式:

if yes.lower() == 'y':
    linkFiles(folders)
raw_input(iprint('= Script Finished, press enter to quit.',True))
Run Code Online (Sandbox Code Playgroud)

也是的,我已经确认我没有混合标签和空格.只需在所有这些线上使用空格.

我还检查了文件末尾的任何空格,但即使在结束括号后没有任何字符,这个错误也会发生.并且尝试运行脚本确实添加了换行符,但没有别的.

根据建议,我确实尝试通过命令行运行它并得到基本相同的结果:

C:\Windows\system32>python "C:\Users\ntreanor\Desktop\User Friendly Scripts\Create file links.py"
  File "C:\Users\ntreanor\Desktop\User Friendly Scripts\Create file links.py", line 135

                                                                             ^
IndentationError: unexpected unindent
Run Code Online (Sandbox Code Playgroud)

python indentation

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

如何在Windows中使用python脚本直接打印而不显示打印对话框?

我已经创建了一个桌面应用程序,可以在Windows OS中使用python2.7gtk + 3从打印机打印令牌。我的应用程序中的按钮应从文件中调用打印。为了格式化打印件,我使用了.rtf文件,请先打开相应的文本编辑器(在我的情况下为MS Word),然后再将文件从打印机中打印出来,然后立即关闭。

如何避免打印之前打开和关闭它?无论是MS Word设置,Windows还是Python解决方案。

这是我的代码:

def make_print(self):
    os.startfile("print.rtf", "print")
Run Code Online (Sandbox Code Playgroud)

注意“ print.rtf ”是在此调用之前由python脚本创建的。

我也尝试过,但是它甚至都没有打印。

def make_print1(self):
    with open('print.rtf', 'r') as f, open('LPT1:', 'w') as lpt:
        while True:
            buf = f.read()
            if not buf: break
            lpt.write(buf)
Run Code Online (Sandbox Code Playgroud)

python windows printing

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