我有一个XML(假设它是有效的),我必须解析它并将其存储在树中.
解析它的最佳方法是什么,不使用其他库,只是对字符串进行基本操作?
请记住,我不必验证它,只需将其解析并记忆到树中.
我发现这个代码在线,我想尝试一下,因为我试图找出如何在我输入消息框时更改标签.我尝试了getmethod,但我一直在努力使用它.所以我发现了这个代码,当我尝试它时,我得到的错误是ttk未定义但显然是.
from Tkinter import *
from ttk import *
def calculate(*args):
try:
value = float(feet.get())
meters.set((0.3048 * value * 10000.0 + 0.5)/10000.0)
except ValueError:
pass
root = Tk()
root.title("Feet to Meters")
mainframe = ttk.Frame(root, padding="3 3 12 12")
mainframe.grid(column=0, row=0, sticky=(N, W, E, S))
mainframe.columnconfigure(0, weight=1)
mainframe.rowconfigure(0, weight=1)
feet = StringVar()
meters = StringVar()
feet_entry = ttkEntry(mainframe, width=7, textvariable=feet)
feet_entry.grid(column=2, row=1, sticky=(W, E))
ttk.Label(mainframe, textvariable=meters).grid(column=2, row=2, sticky=(W, E))
ttk.Button(mainframe, text="Calculate", command=calculate).grid(column=3, row=3, sticky=W)
ttk.Label(mainframe, text="feet").grid(column=3, row=1, sticky=W)
ttk.Label(mainframe, text="is equivalent …Run Code Online (Sandbox Code Playgroud) 我正在创建一个脚本,它使用argparse获取位置和可选参数.我已经阅读了Doug的教程和python文档,但找不到答案.
parser = argparse.ArgumentParser(description='script to run')
parser.add_argument('inputFile', nargs='?', type=argparse.FileType('rt'),
parser.add_argument('inputString', action='store', nargs='?')
parser.add_argument('-option1', metavar='percent', type=float, action='store')
parser.add_argument('-option2', metavar='outFile1', type=argparse.FileType('w'),
parser.add_argument('-option3', action='store', default='<10',
args = parser.parse_args()
# rest of script.... blah blah
Run Code Online (Sandbox Code Playgroud)
如您所见,我想要2个位置和3个可选参数.但是,当我尝试在终端中运行它时,它不会检查位置!如果我尝试:python script.py inputfile它将正常运行并在脚本无法找到inputString的值时输出错误.如果我尝试:python script.py xxx; 输出是:
usage script.py [-h] [-option1] [-option2] [-option3]
Run Code Online (Sandbox Code Playgroud)
任何人都可以解释为什么它不检查位置参数?
我有以下格式的大量UTC时间戳:
2012-04-30T23:08:56+00:00
我想将它们转换为python datetime对象,但遇到了麻烦.
我的代码:
for time in data:
pythondata[i]=datetime.strptime(time,"%y-%m-%dT%H:%M:%S+00:00")
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
ValueError: time data '2012-03-01T00:05:55+00:00' does not match format '%y-%m-%dT%H:%M:%S+00:00'
Run Code Online (Sandbox Code Playgroud)
看起来我的格式正确,为什么这不起作用?
import urllib.request
url="http://espn.com"
f = urllib.request.urlopen(url)
contents = f.read().decode('latin-1')
q = f.geturl()
print(q)
Run Code Online (Sandbox Code Playgroud)
此代码将返回http://espn.go.com/,这是我想要的 - 重定向网站URL.看完Python文档,谷歌搜索等,我无法弄清楚如何:
我怎么能在Python 3中做到这一点?如果有一个更好的模块urllib,我很好.
好吧,当涉及到Python时,我是一个菜鸟,我必须学习这个工作..到目前为止,我正在寻找一些小程序来列出目录.
我正在使用Python 3.2.1 ..在Python Shell中,我创建了一个新窗口,然后放入:
import glob
print glob.glob("/*.txt")
Run Code Online (Sandbox Code Playgroud)
但是当我"运行模块"时,我保存它,它总是告诉我语法无效,它突出显示代码中的第二个glob ..为什么?有关如何解决此问题的任何想法?我真的不明白为什么我有错误..
我想找到python中所有linux文件(不是目录)的通用目录.大家可以帮帮我吗?
例1:
['/home/tung/abc.txt', '/home/tung/xyz.txt']
-> general directory: '/home/tung'
Run Code Online (Sandbox Code Playgroud)
例2:
['/home/tung/abc.txt', '/home/tung/xyz.txt', '/home/user/123.txt']
-> general directory: '/home'
Run Code Online (Sandbox Code Playgroud)
示例3:
['/home/tung/abc.txt', '/root/xyz.txt']
-> general directory: '/'
Run Code Online (Sandbox Code Playgroud) 我试图弄清楚如何根据列表中的字符将以下列表拆分为单独的列表.
list = ['@', '2014', '00:03:01', 'Matt', '"login"', '0.01', '@', '2014', '02:06:12', 'Mary', '"login"', '0.01']
Run Code Online (Sandbox Code Playgroud)
我想在引入每个"@"符号后创建一个列表.例如,我希望输出如下:
NewList1 = ['@', '2014', '00:03:01', 'Matt', '"login"', '0.01']
NewList2 = ['@', '2014', '02:06:12', 'Mary', '"login"', '0.01']
Run Code Online (Sandbox Code Playgroud)
这可能吗?
python中的这段脚本:
cmd = 'installer.exe --install ...' #this works fine, the ... just represent many arguments
process = subprocess.Popen(cmd)
process.wait()
print(process.returncode)
Run Code Online (Sandbox Code Playgroud)
这段代码在我看来运作正常,问题在于价值.returncode.
installer.exe没问题,做了很多测试,现在我尝试在python中创建一个脚本,以便在执行此installer.exe的许多天内自动执行测试.
installer.exe返回: - 成功为0; - 失败和错误是负数
我有一个特定的错误,即installer.exe返回-307.但是python在执行print(process.returncode)它时会显示4294966989 ...我如何在python中处理负数,在这种情况下显示-307?
我是python的新手,env是win7 32和python 3.4.
编辑:最终的代码工作 此代码的部分是运行许多简单的测试:
import subprocess, ctypes, datetime, time
nIndex = 0
while 1==1:
cmd = 'installer.exe --reinstall -n "THING NAME"'
process = subprocess.Popen( cmd, stdout=subprocess.PIPE )
now = datetime.datetime.now()
ret = ctypes.c_int32( process.wait() ).value
nIndex = nIndex + 1
output = str( now ) + …Run Code Online (Sandbox Code Playgroud) 我有一份清单——
list_of_sets = [{0, 1, 2}, {0}]
Run Code Online (Sandbox Code Playgroud)
我想计算列表元素之间的交集。我想过这个解决方案:
a = list_of_sets[0]
b = list_of_sets[1]
c = set.intersection(a,b)
Run Code Online (Sandbox Code Playgroud)
这个解决方案有效,因为我知道列表的元素数量。(所以我可以声明尽可能多的变量,如 a、b 等)
我的问题是我无法找出另一种情况的解决方案,其中列表的元素数量未知。
注意:已经检查了使用循环计算列表元素数量而不是根据结果创建变量的想法。因为我必须将我的代码保存在一个函数中(其中参数是 list_of_sets),所以我需要一个可以用于任何编号列表的更通用的解决方案。
编辑1:
我需要列表中所有元素的解决方案。(不是成对或 3/4 元素)