我正在寻求以更加pythonic的方式做以下事情的建议.
考虑:
class MyObj(object):
def __init__(self):
self.dict_properties = {}
Run Code Online (Sandbox Code Playgroud)
假设我有一个包含多个MyObj实例的列表:
mylist = [<__main__.MyObj object at 0x1005e3b90, ...]
Run Code Online (Sandbox Code Playgroud)
现在我想mylist根据dict_propertiesMyObj中某个键的值进行排序.
工作是什么:
mylist.sort(lambda x,y: cmp(x.dict_properties['mykey'],
y.dict_properties['mykey']))
Run Code Online (Sandbox Code Playgroud)
但这几乎感觉不到pythonic.
有更好的方法(也许使用operator.attrgetter)?
我需要使用python获取文件创建日期和时间.我试过了:
os.stat(r"path")[ST_CTIME]
Run Code Online (Sandbox Code Playgroud)
但它正在回归:
1263538277
Run Code Online (Sandbox Code Playgroud)
这不是创建日期时间.有办法吗?
以下代码的最佳单线代替是什么?我确信这是一种更聪明的方式.
choices = ((1, 'ONE'), (2, 'TWO'), (3, 'THREE'))
some_int = 2
for choice in choices:
if choice[0] == some_int:
label = choice[1]
break;
# label == 'TWO'
Run Code Online (Sandbox Code Playgroud) 我有:
<form>
<input id="A" name="B">
<input id="C" name="D">
</form>
Run Code Online (Sandbox Code Playgroud)
每当第一个输入发生变化时,我需要将第二个输入设置为等于第一个输入.就像是:
$(function() {
$('input#A').change(function() {
$('input#C').val(this.text);
});
});
Run Code Online (Sandbox Code Playgroud) [{'id':44}, {'name':'alexa'},{'color':'blue'}]
Run Code Online (Sandbox Code Playgroud)
我想在列表中选择"id"中的任何内容.基本上,我想打印44,因为这是列表中的"id".
我正在使用一个将返回2个数组的php函数.我是我的函数
function imserv($id){
$xml=simplexml_load_file("feed.xml");
$images=$xml->xpath('//IMAGE');
$services=$xml->xpath('//SERVICES');
return array ($images,$services);
}
Run Code Online (Sandbox Code Playgroud)
我使用以下代码从服务块获取结果
$services=imgserv('5874');
foreach ($services as $servicerow)
{
var_dump($servicerow);
}
Run Code Online (Sandbox Code Playgroud)
问题在于,当它只尝试获取服务的值时,它会同时返回服务和图像.我需要在两个不同的地方使用它们,那么如何将它分开以便以不同的方式使用?
下面是我的饲料,
<?xml version="1.0" ?>
<FOUND>
<NFO>
<IMAGES>
<IMAGE>
<SMALL>images/small.jpg</SMALL>
<MED>images/med.jpg</MED>
<LARGE>images/large.jpg</LARGE>
<EXTRAL>images/extra.jpg</EXTRAL>
</IMAGE>
<IMAGE>
<SMALL>images1/small.jpg</SMALL>
<MED>images1/med.jpg </MED>
<LARGE>images1/large.jpg</LARGE>
<EXTRAL>images1/extra.jpg</EXTRAL>
</IMAGE>
<IMAGE>
<SMALL>images2/small.jpg</SMALL>
<MED>images2/med.jpg </MED>
<LARGE>images2/large.jpg</LARGE>
<EXTRAL>images2/extra.jpg</EXTRAL>
</IMAGE>
</IMAGES>
<SERVICES>
<GROUP><GROUPNAME>Officials</GROUPNAME><SERVICE>
<TYPE>Handy</TYPE>
<NB>0</NB>
</SERVICE>
<SERVICE>
<TYPE>Bedroom</TYPE>
<NB>0</NB>
</SERVICE>
<SERVICE>
<TYPE>Meeting Rooms</TYPE>
<NB>0</NB>
</SERVICE>
<SERVICE>
<TYPE>Conferencing</TYPE>
<NB>0</NB>
</SERVICE>
<SERVICE>
<TYPE>Offices</TYPE>
<NB>0</NB>
</SERVICE>
</GROUP>
<GROUP><GROUPNAME>Reception</GROUPNAME><SERVICE>
<TYPE>Support</TYPE>
<NB>0</NB>
</SERVICE>
<SERVICE>
<TYPE>Reception</TYPE>
<NB>0</NB>
</SERVICE>
<SERVICE> …Run Code Online (Sandbox Code Playgroud) 我正在寻找一种在python中向xml标签添加属性的方法.或者,例如,要创建具有新属性的新标记,我有以下xml文件:
<types name='character' shortName='chrs'>
....
...
</types>
Run Code Online (Sandbox Code Playgroud)
我想添加一个属性,使它看起来像这样:
<types name='character' shortName='chrs' fullName='MayaCharacters'>
....
...
</types>
Run Code Online (Sandbox Code Playgroud)
我怎么用python做到这一点?顺便说说.我请用python和minidom来帮忙.提前致谢
您将如何进行测试以查看2个文件夹是否包含相同的文件,然后才能操作新文件.
A = listdir('C:/')
B = listdir('D:/')
If A==B
Run Code Online (Sandbox Code Playgroud)
...
我知道这可以用来测试目录是否不同但是有更好的方法吗?如果A和B相同,除了B还有一个文件比A,我如何只使用新文件?
谢谢,我希望我的问题不会令人困惑
使用此代码:
import scipy
from scipy import *
x = r_[1:15]
print x
a = select([x > 7, x >= 4],[x,x+10])
print a
Run Code Online (Sandbox Code Playgroud)
我得到了这个答案:
[ 1 2 3 4 5 6 7 8 9 10 11 12 13 14]
[ 0 0 0 14 15 16 17 8 9 10 11 12 13 14]
Run Code Online (Sandbox Code Playgroud)
但为什么我在开头而不是最后有零呢?提前致谢.