如果我有以下代码:
for x in range(10):
print x
Run Code Online (Sandbox Code Playgroud)
我会得到的输出
1
2
etc..
Run Code Online (Sandbox Code Playgroud)
我想要做的是不是打印换行符,而是要替换之前的值并用同一行上的新值覆盖它.
我有一些我写的.py文件,我想在另一台机器上运行.目标机器没有安装python,我无法通过策略"安装"它.我能做的是复制文件,运行我的东西,然后删除它们.
我尝试的是将我的开发python文件夹转移到目标机器并cd到python文件夹并运行python.exe /path/to/.py/file.它给了我一个错误,说python.dll没有注册.如果我注册的DLL可能会让我远离"违规政策"行.
无论如何,我可以在没有实际安装python的机器上完成运行python文件(试图让py2exe现在正常工作,但这很痛苦)?
让我们说我有一个清单:
listOfStuff =([a,b], [c,d], [e,f], [f,g])
Run Code Online (Sandbox Code Playgroud)
我想要做的是以类似于以下代码的方式遍历中间2组件:
for item in listOfStuff(range(2,3))
print item
Run Code Online (Sandbox Code Playgroud)
最终结果应该是:
[c,d]
[e,f]
Run Code Online (Sandbox Code Playgroud)
此代码目前不起作用,但我希望您能理解我想要做的事情.
我正在编写一个GUI前端,在它执行一堆验证后将执行一系列已经存在的vbscript .wsf文件.
我的问题是,当我尝试执行.wsf文件时,我收到错误
WindowsError: [Error 193] %1 is not a valid Win32 application
Run Code Online (Sandbox Code Playgroud)
从命令行运行它们工作正常
d:\<some path>\<some file>.wsf
Run Code Online (Sandbox Code Playgroud)
我已经尝试了几个不同的选项,调用,os.system等.但都导致相同的Win32错误.
call("d:\<some path>\<some file>.wsf")
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
我在XPsp3 w/python 2.7上编写和测试代码.我在2003服务器w/python 2.7上运行代码.我的目录结构看起来像这样
d:\ssptemp
d:\ssptemp\ssp9-1
d:\ssptemp\ssp9-2
d:\ssptemp\ssp9-3
d:\ssptemp\ssp9-4
d:\ssptemp\ssp10-1
d:\ssptemp\ssp10-2
d:\ssptemp\ssp10-3
d:\ssptemp\ssp10-4
Run Code Online (Sandbox Code Playgroud)
在每个目录中,有一个或多个文件将"IWPCPatch"作为文件名的一部分.
在其中一个文件(每个目录中有一个)中,会有一行'IWPCPatchFinal_a.wsf'
我做的是
1)在d:\ ssptemp下穿越所有目录的os.walk
2)在文件名中找到所有带有'IWPCPatch'的文件
3)检查文件内容'IWPCPatchFinal_a.wsf'
4)如果contents为true,我将该文件的路径添加到列表中.
我的问题是在我的XP机器上运行正常.如果我打印出列表的结果,我会按照上面列出的顺序获得几个项目.
当我将它移动到服务器2003机器时,我以不同的顺序获得相同的内容.它来自ssp10-X,然后是ssp9-X.这导致我在程序中的不同区域出现问题.
我可以从我的输出中看到它以错误的顺序开始os.walk,但我不知道为什么会发生这种情况.
import os
import fileinput
print "--createChain--"
listOfFiles = []
for path, dirs, files in os.walk('d:\ssptemp'):
print "parsing dir(s)"
for file in files:
newFile = os.path.join(path,file)
if newFile.find('IWPCPatch') >= 0:
for line in fileinput.FileInput(newFile):
if "IWPCPatchFinal_a.wsf" in line:
listOfFiles.append(newFile)
print "Added", newFile
for item in listOfFiles:
print "list item", item
Run Code Online (Sandbox Code Playgroud) 使用paramiko我正在尝试与服务器建立连接,但该连接失败并带有以下输出
Traceback (most recent call last):
File "C:\ucatsScripts\cleanUcatsV2.py", line 13, in <module>
ssh.connect(host,username,password)
File "C:\Python27\lib\site-packages\paramiko-1.7.6-py2.7.egg\paramiko\client.py", line 278, in connect
for (family, socktype, proto, canonname, sockaddr) in socket.getaddrinfo(hostname, port, socket.AF_UNSPEC, socket.SOCK_STREAM):
socket.gaierror: [Errno 10109] getaddrinfo failed
Run Code Online (Sandbox Code Playgroud)
这是我正在使用的代码
import paramiko
import cmd
import sys
# Connect to Server
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(
paramiko.AutoAddPolicy())
success = ssh.connect('MASKED',username='MASKED',password='MASKED')
if (success != True):
print "Connection Error"
sys.exit()
else:
print "Connection Established"
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
我有一些代码可以获得.MP3文件的标题
def getTitle(fileName):
print "getTitle"
audio = MP3(fileName)
try:
sTitle = str(audio["TIT2"])
except KeyError:
sTitle = os.path.basename(fileName)
sTitle = replace_all(sTitle) #remove special chars
return sTitle
Run Code Online (Sandbox Code Playgroud)
我会用这个函数调用
sTitle = getTitle("SomeSong.mp3")
Run Code Online (Sandbox Code Playgroud)
为了解决另一个问题,我想在自己的线程上生成它,所以我改变了我的调用
threadTitle = Thread(target=getTitle("SomeSong.mp3"))
threadTitle.start()
Run Code Online (Sandbox Code Playgroud)
这正确地调用了函数并解决了我的其他问题,但现在我无法弄清楚如何将sTitle的返回值从函数转换为Main.
我有一个由以下定义的对象列表
class Track(object):
def __init__(self, title, artist, album, source, dest):
self.title = title
self.artist = artist
self.album = album
self.source = source
self.dest = dest
Run Code Online (Sandbox Code Playgroud)
在图形用户界面上,我有一个与事件绑定的按钮。输出应该将列表的内容打印到命令行(而不是 GUI)
def onPrintBtn(self, event):
print "onPrintBtn"
for track in self.TrackOlv:
print(track)
Run Code Online (Sandbox Code Playgroud)
由于某种原因,这以 (class ' main .Track')的无限循环结束
我知道我的问题是属性是对象的一部分,但我不知道该怎么做是将它们转换为字符串值,以便我可以根据需要打印它们。
这里的每个请求是我的程序的完整代码。
#Boa:Frame:Frame1
import wx
import os
import glob
import shutil
import datetime
from mutagen.mp3 import MP3
from mutagen.easyid3 import EasyID3
import mutagen.id3
import unicodedata
from ObjectListView import ObjectListView, ColumnDefn
########################################################################
class Track(object):
def __init__(self, title, artist, album, …Run Code Online (Sandbox Code Playgroud) 可能重复: 在Python中将列表成对循环(当前,下一个)
遍历列表时,我要打印列表中的当前项目以及列表中的下一个值。
listOfStuff = [a,b,c,d,e]
for item in listOfStuff:
print item, <nextItem>
Run Code Online (Sandbox Code Playgroud)
输出为:
a b
b c
c d
d e
Run Code Online (Sandbox Code Playgroud) 如果你有一个简单的程序名pyodbcTest.py
import pyodbc
print "pass"
Run Code Online (Sandbox Code Playgroud)
然后使用cx_freeze编译它
cxfreeze --targe-dir=cxTest pyodbcTest.py
Run Code Online (Sandbox Code Playgroud)
然后运行该程序,它会抛出以下错误.
C:\temp\pythonWork\cxTest>pyodbcTest.exe
Traceback (most recent call last):
File "C:\Python27\lib\site-packages\cx_Freeze\initscripts\Console.py", line 27, in <module>
exec code in m.__dict__
File "pyodbcTest.py", line 1, in <module>
RuntimeError: Unable to import decimal
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?