小编gue*_*tli的帖子

git:致命:我不处理协议'http'

我从网页上复制并粘贴了一个git clone命令:https://fedorahosted.org/ibus-typing-booster/

我懂了:

user@host> git clone ??http://git.fedorahosted.org/git/ibus-typing-booster.git

Cloning into 'ibus-typing-booster'...
fatal: I don't handle protocol '??http'
Run Code Online (Sandbox Code Playgroud)

git whitespace clone

299
推荐指数
8
解决办法
19万
查看次数

我什么时候应该在python中使用uuid.uuid1()和uuid.uuid4()?

我从文档中了解了两者之间的差异.

uuid1():
从主机ID,序列号和当前时间生成UUID

uuid4():
生成随机UUID.

因此uuid1使用机器/序列/时间信息来生成UUID.使用每个的利弊是什么?

我知道uuid1()可以有隐私问题,因为它基于机器信息.我想知道在选择其中一个时是否更加微妙.我uuid4()现在就用,因为它是一个完全随机的UUID.但我想知道我是否应该用它uuid1来减少碰撞的风险.

基本上,我正在寻找人们关于使用一个与另一个的最佳实践的提示.谢谢!

python uuid

197
推荐指数
6
解决办法
9万
查看次数

邮件multipart/alternative vs multipart/mixed

当创建的电子邮件,你都应该设置内容类型multipart/alternative发送HTML和文本时,或multipart/mixed发送文本和附件时.

那么,如果要发送HTML,文本和附件,该怎么办?使用两者?

email mime smtp content-type

138
推荐指数
8
解决办法
12万
查看次数

"git pull"可以自动存储并弹出挂起的更改吗?

我知道如何解决这个问题:

user@host$ git pull
Updating 9386059..6e3ffde
error: Your local changes to the following files would be overwritten by merge:
    foo.bar
Please, commit your changes or stash them before you can merge.
Aborting
Run Code Online (Sandbox Code Playgroud)

但是,是不是有办法让git pullstashpop舞蹈给我吗?

如果此命令具有不同的名称,则可以.

创建shell别名git stash; git pull; git stash pop是一种解决方案,但我寻找更好的解决方案.

git git-stash git-pull

108
推荐指数
4
解决办法
3万
查看次数

Django-DB-Migrations:不能ALTER TABLE,因为它有未决的触发事件

我想从TextField中删除null = True:

-    footer=models.TextField(null=True, blank=True)
+    footer=models.TextField(blank=True, default='')
Run Code Online (Sandbox Code Playgroud)

我创建了一个模式迁移:

manage.py schemamigration fooapp --auto
Run Code Online (Sandbox Code Playgroud)

由于一些页脚列包含NULL我得到这个,error如果我运行迁移:

django.db.utils.IntegrityError:列"footer"包含空值

我将此添加到架构迁移中:

    for sender in orm['fooapp.EmailSender'].objects.filter(footer=None):
        sender.footer=''
        sender.save()
Run Code Online (Sandbox Code Playgroud)

现在我得到:

django.db.utils.DatabaseError: cannot ALTER TABLE "fooapp_emailsender" because it has pending trigger events
Run Code Online (Sandbox Code Playgroud)

怎么了?

python django postgresql django-migrations

103
推荐指数
5
解决办法
4万
查看次数

如何在systemd服务单元中启用virtualenv?

我想在系统服务文件中"激活"virtualenv.

我想避免在systemd进程和python解释器之间有一个shell进程.

我目前的解决方案如下:

[Unit]
Description=fooservice
After=syslog.target network.target

[Service]
Type=simple
User=fooservice
WorkingDirectory={{ venv_home }}
ExecStart={{ venv_home }}/fooservice --serve-in-foreground
Restart=on-abort
EnvironmentFile=/etc/sysconfig/fooservice.env

[Install]
WantedBy=multi-user.target
Run Code Online (Sandbox Code Playgroud)

/etc/sysconfig/fooservice.env

PATH={{ venv_home }}/bin:/usr/local/bin:/usr/bin:/bin
PYTHONIOENCODING=utf-8
PYTHONPATH={{ venv_home }}/...
VIRTUAL_ENV={{ venv_home }}
Run Code Online (Sandbox Code Playgroud)

但我遇到了麻烦.我得到ImportErrors,因为缺少sys.path中的一些内容.

python environment-variables virtualenv

61
推荐指数
3
解决办法
4万
查看次数

在Python中充当装饰器和上下文管理器的函数?

这可能会把事情推得太远,但主要是出于好奇.

是否有可能以具有一个可调用的对象(功能/类)充当两个上下文管理器,并在同一时间装饰器:

def xxx(*args, **kw):
    # or as a class

@xxx(foo, bar)
def im_decorated(a, b):
    print('do the stuff')

with xxx(foo, bar):
    print('do the stuff')
Run Code Online (Sandbox Code Playgroud)

python decorator contextmanager

48
推荐指数
5
解决办法
1万
查看次数

如何从列表中删除每个出现的子列表

我有两个清单:

big_list = [2, 1, 2, 3, 1, 2, 4]
sub_list = [1, 2]
Run Code Online (Sandbox Code Playgroud)

我想删除big_list中的所有sub_list事件.

结果应该是 [2, 3, 4]

对于字符串,您可以使用此:

'2123124'.replace('12', '')
Run Code Online (Sandbox Code Playgroud)

但AFAIK这对列表不起作用.

这不是从列表删除子列表的重复,因为我想从大列表中删除所有子列表.在另一个问题中,结果应该是[5,6,7,1,2,3,4].

更新:为简单起见,我在此示例中使用了整数.但列表项可以是任意对象.

UPDATE2:

如果big_list = [1, 2, 1, 2, 1]sub_list = [1, 2, 1],我希望结果是[2, 1](像'12121'.replace('121', ''))

UPDATE3:

我不喜欢将StackOverflow中的源代码复制+粘贴到我的代码中.这就是我在软件建议中提出第二个问题的原因:https://softwarerecs.stackexchange.com/questions/51273/library-to-remove-every-occurrence-of-sub-list-from-list-python

Update4:如果您知道要进行此方法调用的库,请将其写为答案,因为这是我首选的解决方案.

测试应通过此测试:

def test_remove_sub_list(self):
    self.assertEqual([1, 2, 3], remove_sub_list([1, 2, 3], []))
    self.assertEqual([1, 2, 3], remove_sub_list([1, 2, 3], [4]))
    self.assertEqual([1, 3], remove_sub_list([1, 2, …
Run Code Online (Sandbox Code Playgroud)

python list-manipulation

45
推荐指数
7
解决办法
2163
查看次数

如何调试Python分段错误?

如何调试Python分段错误?

我们试图在SuSE 12.3上运行我们的python代码.我们得到可重现的分段错误.多年来,python代码一直在其他平台上工作而没有分段错误.

我们只编写Python代码,没有C扩展....

调试这个的最佳方法是什么?我知道有点ansi c,但那是十年前......

Python 2.7.5

更新

解析器关闭时会发生分段错误.

我可以多次运行脚本:

python -m pdb myscript.py arg1 arg1
continue
run
continue
run
Run Code Online (Sandbox Code Playgroud)

但是如果我使用ctrl-d离开pdb,则会发生分段错误.

更新2

我现在尝试用gdb调试它:

gdb 
> file python
> run myscript.py arg1 arg2
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffefbe2700 (LWP 15483)]
0x00007ffff7aef93c in PyEval_EvalFrameEx () from /usr/lib64/libpython2.7.so.1.0
(gdb) bt
#0  0x00007ffff7aef93c in PyEval_EvalFrameEx () from /usr/lib64/libpython2.7.so.1.0
#1  0x00007ffff7af5303 in PyEval_EvalCodeEx () from /usr/lib64/libpython2.7.so.1.0
#2  0x00007ffff7adc858 in ?? () from /usr/lib64/libpython2.7.so.1.0
#3  0x00007ffff7ad840d in PyObject_Call () from …
Run Code Online (Sandbox Code Playgroud)

python segmentation-fault

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

使用Python中的pathlib复制文件

我尝试复制一个文件 pathlib

import pathlib
import shutil

my_file=pathlib.Path('/etc/hosts')
to_file=pathlib.Path('/tmp/foo')
shutil.copy(my_file, to_file)
Run Code Online (Sandbox Code Playgroud)

我得到这个例外:

/home/foo_egs_d/bin/python /home/foo_egs_d/src/test-pathlib-copy.py
Traceback (most recent call last):
  File "/home/foo_egs_d/src/test-pathlib-copy.py", line 6, in <module>
    shutil.copy(my_file, to_file)
  File "/usr/lib/python2.7/shutil.py", line 117, in copy
    if os.path.isdir(dst):
  File "/home/foo_egs_d/lib/python2.7/genericpath.py", line 41, in isdir
    st = os.stat(s)
TypeError: coercing to Unicode: need string or buffer, PosixPath found

Process finished with exit code
Run Code Online (Sandbox Code Playgroud)

...如何在Python 2.7中使用pathlib复制文件?

python copy file python-2.x pathlib

43
推荐指数
5
解决办法
2万
查看次数