小编Ci3*_*Ci3的帖子

Python 3中的sys.maxint是什么?

我一直试图找出如何表示一个最大整数,我已经阅读使用"sys.maxint".但是,在Python 3中,当我调用它时,我得到:

AttributeError: module 'object' has no attribute 'maxint'
Run Code Online (Sandbox Code Playgroud)

python python-3.x

129
推荐指数
5
解决办法
17万
查看次数

如何在打印声明后抑制换行符?

我读到在打印语句后禁止换行,你可以在文本后面加一个逗号.这里的示例看起来像Python 2. 如何在Python 3中完成?

例如:

for item in [1,2,3,4]:
    print(item, " ")
Run Code Online (Sandbox Code Playgroud)

需要更改哪些内容才能将它们打印在同一行上?

python python-3.x

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

在Python 3中连接列表

我正在阅读Dive in Python 3,在列表部分,作者声明可以使用"+"运算符连接列表或调用extend()方法.这些只是两种不同的操作方式吗?我应该使用其中一个的任何理由?

>>> a_list = a_list + [2.0, 3]
>>> a_list.extend([2.0, 3])  
Run Code Online (Sandbox Code Playgroud)

python python-3.x

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

如何在PowerShell中异步捕获进程输出?

我想从我在Powershell脚本中启动的进程捕获stdout和stderr,并将其异步显示到控制台.我已经通过MSDN和其他博客找到了一些关于这样做的文档.

创建并运行下面的示例后,我似乎无法异步显示任何输出.所有输出仅在进程终止时显示.

$ps = new-object System.Diagnostics.Process
$ps.StartInfo.Filename = "cmd.exe"
$ps.StartInfo.UseShellExecute = $false
$ps.StartInfo.RedirectStandardOutput = $true
$ps.StartInfo.Arguments = "/c echo `"hi`" `& timeout 5"

$action = { Write-Host $EventArgs.Data  }
Register-ObjectEvent -InputObject $ps -EventName OutputDataReceived -Action $action | Out-Null

$ps.start() | Out-Null
$ps.BeginOutputReadLine()
$ps.WaitForExit()
Run Code Online (Sandbox Code Playgroud)

在这个例子中,我希望在程序执行结束之前在命令行上看到"hi"的输出,因为应该触发OutputDataReceived事件.

我已经尝试过使用其他可执行文件 - java.exe,git.exe等.所有这些都具有相同的效果,所以我不得不认为有一些我不理解或错过的简单.还需要做什么才能异步读取stdout?

powershell events asynchronous

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

keyPressEvent方法如何在此程序中运行?

我无法理解keyPressEvent方法在此程序中的工作原理.具体来说,这里的"e"是什么?keyPressEvent是使用预先存在的实例"e"重新定义的方法吗?

import sys
from PyQt4 import QtGui, QtCore

class Example(QtGui.QWidget):

    def __init__(self):
        super(Example, self).__init__()

        self.initUI()

    def initUI(self):

        self.setGeometry(300,300,250,150)
        self.setWindowTitle('Event handler')
        self.show()

    def keyPressEvent(self, e):

        if e.key() == QtCore.Qt.Key_Escape:
            self.close()

def main():

    app = QtGui.QApplication(sys.argv)
    ex = Example()
    sys.exit(app.exec_())

if __name__ == '__main__':
    main()
Run Code Online (Sandbox Code Playgroud)

pyqt

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

Powershell中的模块嵌套限制是多少?

尝试在另一个脚本中导入Powershell模块时收到错误,但我似乎无法找到有关错误的任何文档.

错误:

无法加载模块"AWSRestTools.psd1",因为已超出模块嵌套限制.模块只能嵌套到10个级别.评估并更改加载模块的顺序以防止超出嵌套限制,然后再次尝试运行脚本.

我的模块'AWSRestTools'没有加载任何其他模块,所以不清楚'嵌套'在哪里发生.该错误提到重新排序已加载的模块,但我不明白为什么.有人会介意这个错误吗?为什么会有"嵌套限制",重新排序模块会实现什么?

powershell

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

如何指定要在 MSBuild 内联任务中使用的正确版本的程序集?

我在 MSBuild 项目中编写了一个内联 C# 任务。我遇到了一些问题,因为我需要加载的程序集引用了旧版本的 .NET 框架中的类型。我应该如何让 MSBuild 引用正确的程序集版本?

这是一些代码:

<UsingTask TaskName="HelloWorld" TaskFactory="CodeTaskFactory" AssemblyFile="$(MSBuildToolsPath)\Microsoft.Build.Tasks.v4.0.dll">
    <ParameterGroup>
        <ConfigFile ParameterType="System.String" Required="true" />
        <Environment ParameterType="System.String" Required="true" />
    </ParameterGroup>
    <Task>
        <Reference Include="System.Xml"/>
        <Reference Include="Microsoft.Build"/>
        <Reference Include="Microsoft.Build.Framework"/>
        <Reference Include="$(MSBuildCommunityTasksPath)\MSBuild.Community.Tasks.dll"/>
        <Reference Include="Microsoft.Build.Utilities.v3.5, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"/>

        <Using Namespace="System"/>
        <Using Namespace="System.Xml"/>
        <Using Namespace="Microsoft.Build.Utilities"/>
        <Using Namespace="Microsoft.Build.Framework"/>
        <Using Namespace="MSBuild.Community.Tasks.Xml"/>
        <Code Type="Fragment" Language="cs">
            <![CDATA[
            //obtain a list of environment nodes in the substitution config
            XmlDocument doc = new XmlDocument();
            doc.Load(ConfigFile);
            List<String> envList = doc.DocumentElement.SelectNodes("//environments/*").Cast<XmlNode>().Select(x => x.Name).ToList();
            //envList.ForEach(Console.WriteLine);
            ]]>
        </Code>
    </Task>
</UsingTask> …
Run Code Online (Sandbox Code Playgroud)

.net c# msbuild assemblies

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

如何在NPM版本中表示内部版本号?

我想在package.json中为我的项目附加一个内部版本号.我正在寻找最好的方法.

我发现如果前面带有'+',则node-semver会将字符串识别为内部版本号.例如,这将是构建'123'.

1.0.0 + 123

但是,NPM版本模块也将接受此格式,但会修改package.json中的内部版本号.我该如何在package.json中表示内部版本号?

versioning node.js npm

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

如何让 Scrapy 在 start_requests 方法完成之前执行回调?

我有一个很大的相对 url 文件,我想用 Scrapy 抓取它,我已经编写了一些代码来逐行读取这个文件,并为我的蜘蛛构建请求进行解析。下面是一些示例代码。

蜘蛛:

def start_requests(self):
    with open(self._file) as infile:
        for line in infile:
            inlist = line.replace("\n","").split(",")
            item = MyItem(data = inlist[0])

            request = scrapy.Request(
                url = "http://foo.org/{0}".format(item["data"]),
                callback = self.parse_some_page
            )
            request.meta["item"]
            yield request


def parse_some_page(self,response):
    ...
    request = scrapy.Request(
        url = "http://foo.org/bar",
        callback = self.parse_some_page2
    )
    yield request
Run Code Online (Sandbox Code Playgroud)

这工作正常,但对于一个大的输入文件,我看到parse_some_page2start_requests完成所有初始请求之前不会调用它。有什么方法可以让 Scrapy 更早地开始调用回调吗?最终,我不想在开始看到项目流过管道之前等待一百万个请求。

twisted scrapy scrapy-spider

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

如何使用Android偏好设置创建一次性欢迎屏幕?

我想创建一个只在应用程序启动后显示一次的屏幕.之后,它只会显示主屏幕.我实现这个的方法只是检查首选项并根据标志设置当前布局.有没有以这种方式实施它的缺点?有没有更好的办法?

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        //Here is the main layout
        setContentView(R.layout.main);      

        mPrefs = PreferenceManager.getDefaultSharedPreferences(this);

        // second argument is the default to use if the preference can't be found
        Boolean welcomeScreenShown = mPrefs.getBoolean(welcomeScreenShownPref, false);

        if (!welcomeScreenShown) {
            //Here I set the one-time layout
            setContentView(R.layout.popup_message);             
            SharedPreferences.Editor editor = mPrefs.edit();
            editor.putBoolean(welcomeScreenShownPref, true);
            editor.commit(); // Very important to save the preference
        }
    }
Run Code Online (Sandbox Code Playgroud)

android version sharedpreferences

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