小编Zor*_*vic的帖子

在bash中创建临时文件

是否有客观上更好的方法在bash脚本中创建临时文件?

我通常只是将它们命名为我想到的任何内容,例如tempfile-123,因为当脚本结束时它将被删除.除了覆盖当前文件夹中可能的tempfile-123之外,还有什么不利吗?或者以更仔细的方式创建临时文件有什么好处?

unix linux bash

140
推荐指数
5
解决办法
10万
查看次数

SQLAlchemy:分离对象的修改

我想使用orm在SQLAlchemy中复制模型实例(行).我的第一个想法是这样做:

i = session.query(Model)
session.expunge(i)

old_id = i.id
i.id = None
session.add(i)
session.flush()
print i.id #New ID
Run Code Online (Sandbox Code Playgroud)

然而,显然分离的对象仍然"记住"它具有的id,即使我在分离时将id设置为None.因此,session.flush()尝试执行UPDATE,将主键更改为null.

这是预期的行为吗?如何删除此属性的"内存",并在将重新添加到会话时将其作为新对象处理?一般来说,如何克隆SQLAlchemy模型实例?

python clone sqlalchemy instance duplicates

20
推荐指数
1
解决办法
8844
查看次数

PyCharm中的Vagrantfile语法高亮显示

我使用Vagrant插件来运行VM,但我仍然希望在PyCharm中设置Vagrantfile语法高亮.

可能吗?

提前致谢!

syntax pycharm vagrant vagrantfile

13
推荐指数
1
解决办法
1130
查看次数

在Python中准确测量对象大小 - Sys.GetSizeOf无法正常工作

我试图准确/明确地找到Python中两个不同类之间的大小差异.它们都是新的样式类,除了没有定义槽的一个.我已经尝试了很多测试来确定它们的大小差异,但它们总是在内存使用方面完全相同.

到目前为止,我已经尝试了sys.GetSizeOf(obj)和heapy的heap()函数,没有任何积极的结果.测试代码如下:

import sys
from guppy import hpy

class test3(object):
    def __init__(self):
        self.one = 1
        self.two = "two variable"

class test4(object):
    __slots__ = ('one', 'two')
    def __init__(self):
        self.one = 1
        self.two = "two variable"

test3_obj = test3()
print "Sizeof test3_obj", sys.getsizeof(test3_obj)

test4_obj = test4()
print "Sizeof test4_obj", sys.getsizeof(test4_obj)

arr_test3 = []
arr_test4 = []

for i in range(3000):
    arr_test3.append(test3())
    arr_test4.append(test4())

h = hpy()
print h.heap()
Run Code Online (Sandbox Code Playgroud)

输出:

Sizeof test3_obj 32
Sizeof test4_obj 32

Partition of a set of 34717 …
Run Code Online (Sandbox Code Playgroud)

python memory slots

8
推荐指数
2
解决办法
4157
查看次数

Notepad ++ - 在多列中垂直对齐文本

我正在尝试在我的代码中对齐某些行,这些行包含可能与某些对齐方式一起使用的注释.我使用了notepad ++" Code-Alignment "插件,并对齐了下面的文字.

class Constants(object):
    VAL_CONST = 5  # Lorem ipsum dolor sit amet = 213
    TEST_CONST = 0.2324  # Curabitur condimentum elementum = 32
    PARALLEL_CONST = 88  # Vivamus vehicula, mauris nec vehicula pulvinar, urna nibh mollis = 1342
    CURVE_SPATIAL_CONST = 0.000005892  # Donec sagittis in lacus = 0.55
Run Code Online (Sandbox Code Playgroud)

我最终得到以下结果:

class Constants(object):
    VAL_CONST           = 5  # Lorem ipsum dolor sit amet = 213
    TEST_CONST          = 0.2324  # Curabitur condimentum elementum= 32
    PARALLEL_CONST      = 88  # Vivamus vehicula, mauris …
Run Code Online (Sandbox Code Playgroud)

notepad++

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

类字段/实例变量的Pycharm类型提示

每当我们需要Java中的新对象时,我们声明类型和名称选择给它一个初始值.在Python中我们不能这样做,因为我们不声明类型.

如何解决这个问题,因为如果没有声明类型; 我没有得到任何代码完成提示.就像特定对象的字段或我们可以调用对象的任何方法一样......

 class Album:
    def __init__(self, name, Photo, next):
        self.name = name
        self.Photo = None
        self.next = next

    def __str__(self):
        return "Album name is: " + self.name


class Photo:
    def __init__(self, name, caption, Tag, next):
        self.name = name
        self.caption = caption
        self.Tag = Tag
        self.next = next

    def __str__(self):
        return "Photo name is: " + self.name + " with caption: " + self.caption


class Tag:
    def __init__(self, type, info, next):
        self.name = type
        self.info = info
        self.next = next …
Run Code Online (Sandbox Code Playgroud)

python type-hinting pycharm

6
推荐指数
1
解决办法
2704
查看次数