这个问题可能已被要求死亡,但我似乎无法找到答案。
我可以像这样运行python 3脚本:
python3 my.py
但是,假设我将其设为可执行文件并自行运行。然后它通常在python 2下执行,但我希望它在python 3下。这可能吗?
chmod u+x my.py
./my.py #executes under python 2.
我可以在脚本的第一行添加内容吗?或者我可以更改全局系统默认值吗? (我在OS X上)。 另外,更改全局默认值是否安全,我的任何应用程序是否都会停止工作?
答案 0 :(得分:1)
我认为如果你写
#!/usr/local/bin/python3
作为文件的第一行,它将被执行b python 3。
请注意,您必须将其执行为:
./my.py
如果你这样做
python my.py
我不知道会发生什么。如果你的默认python版本是2.7,它可能会被那个版本执行。
答案 1 :(得分:1)
几乎所有#!/usr/bin/env python3
变体都支持以下内容:
$PATH
所以添加它作为第一行会发现Python 3假设python所在的路径包含在List<Integer> notToModifyIds = dao.getDoNotModifyIds(parentEntity.getId());
MyEntityFromList entityFromClient, entityFromDb;
for(Integer notToModifyId : notToModifyIds){
ListIterator iterator = parentEntity.getEntities().listIterator();
while(iterator.hasNext()){
entityFromClient = (MyEntity) iterator.next();
if(Objects.equals(entityFromClient.getId(), notToModifyId)){
dao.evict(entityFromClient);
entityFromDb = (MyEntity) dao.get(MyEntity.class, notToModifyId);
iterator.remove(entityFromClient);
iterator.add(entityFromDb);
}
}
}