小编mad*_*245的帖子

如何从python 3.3中的cx_freeze(或安装程序)创建一个多合一的exe文件

我制作了一个GUI python脚本,我想与同事分享,以提高工作效率.我需要一种方法将所有内容都包含在一个文件/目录中供他们使用.我试过这个标准

python setup.py build
Run Code Online (Sandbox Code Playgroud)

但它并不包含所有东西(在他们的电脑上进行测试,我只是快速命令提示弹出然后关闭.)

它在我的机器上工作正常,但我安装了其他东西(比如python)

我的setup.py如下:

import sys
from cx_Freeze import setup, Executable

executables = [
        Executable("Blah.py")
]

buildOptions = dict(
        compressed = True,
        includes = ["Blah"],
        path = sys.path + ["modules"])

setup(
        name = "Blah",
        version = "0.1",
        description = "Blah",
        options = dict(build_exe = buildOptions),
        executables = executables)
Run Code Online (Sandbox Code Playgroud)

我花了几个小时搜索已经没有运气了.我觉得有一种方法可以包含所有需要的文件,我只是不确定如何.任何帮助,将不胜感激.谢谢.

python exe pyqt4 cx-freeze python-3.x

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

Ping 的 Python 控制台和文本输出,包括 \n\r

我不知道发生了什么,但是当我打印到控制台或文本文件时,换行符 (\n) 不起作用,而是显示在字符串中。知道如何在控制台和文本文件中避免这种情况吗?

我的代码:

import subprocess

hosts_file = open("hosts.txt","r")
lines = hosts_file.readlines()

for line in lines:
    line = line.strip()
    ping = subprocess.Popen(["ping", "-n", "3",line],stdout = subprocess.PIPE,stderr = subprocess.PIPE)
    out, error = ping.communicate()
    out = out.strip()
    error = error.strip()
    output = open("PingResults.txt",'a')
    output.write(str(out))
    output.write(str(error))
    print(out)
    print(error)
hosts_file.close()
Run Code Online (Sandbox Code Playgroud)

输出:

b'Pinging 192.168.0.1 with 32 bytes of data:\r\nRequest timed out.\r\nRequest ti
med out.\r\nRequest timed out.\r\n\r\nPing statistics for 192.168.0.1:\r\n    Pa
ckets: Sent = 3, Received = 0, Lost = 3 (100% loss),'
b''
b'Pinging 192.168.0.2 …
Run Code Online (Sandbox Code Playgroud)

python subprocess ping popen python-3.3

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

VBA循环遍历列中的值并根据值更改下一列

我有一段代码,它接受单元格中的值并根据值设置不同的单元格.这是一个简单的代码,我只是无法弄清楚如何循环它来完成整个列.有人可以指导我如何做到这一点?提前致谢!

这是我的代码:

Dim pH As Single, Program As String
pH = Range("D2").Value

If pH <= 7.8 Then
     Program = "Neutral"
Else
     Program = "Alkaline"

Range("E2").Value = Program
Run Code Online (Sandbox Code Playgroud)

excel vba excel-vba excel-2010

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

如何从Python的telnet响应中读取一行?

我很惊讶我在这里找不到这个问题.

我想从telnet响应中提取一行并使其成为变量.(实际上是该行的一个数字).我可以使用telnet.read_until()提取到我需要的位置,但整个开始仍然存在.打印输出显示机器的不同状态.

我想要获取的行格式如下:

CPU Utilization          : 5 %
Run Code Online (Sandbox Code Playgroud)

我真的只需要数字,但输出的其余部分有很多':'和'%'字符.任何人都可以帮我提取这个价值吗?提前致谢!

这是我的代码(这将读取整个输出并打印):

import telnetlib, time


print ("Starting Client...")
host    = input("Enter IP Address: ")
timeout = 120

print ("Connecting...")
try:
    session = telnetlib.Telnet(host, 23, timeout)
except socket.timeout:
    print ("socket timeout")
else:
    print("Sending Commands...")
    session.write("command".encode('ascii') + b"\r")
    print("Reading...")
    output = session.read_until(b"/r/n/r/n#>", timeout )
    session.close()
    print(output)
    print("Done")
Run Code Online (Sandbox Code Playgroud)

编辑:输出可能是的一些示例:

Boot Version         : 1.1.3 (release_82001975_C)
Post Version         : 1.1.3 (release_82001753_E)
Product VPD Version  : release_82001754_C
Product ID           : 0x0076
Hardware Strapping   : 0x004C
CPU Utilization      : …
Run Code Online (Sandbox Code Playgroud)

python telnet telnetlib python-3.x python-3.3

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