我有一个带有docstring的Python脚本.当解析命令行参数不成功时,我想打印文档字符串以获取用户的信息.
有没有办法做到这一点?
#!/usr/bin/env python
"""
Usage: script.py
This describes the script.
"""
import sys
if len(sys.argv) < 2:
print("<here comes the docstring>")
Run Code Online (Sandbox Code Playgroud) 给定一段时间(例如一天,一周,一个月),是否可以列出此时修改或添加的所有文件?
我开发了一些脚本来处理我的bibtex数据库和PDF.
为方便起见,我在同一个git存储库中管理数据库和脚本(这是我不想改变的事情).但是,我想让我的脚本可用(例如在github上),而不是我的数据库或pdf.不过,我希望在github和本地脚本上都有相同的commit-history.
我想过有一个github-branch并且只推动这个分支.但是,如何通过对主分支中的脚本执行提交来更新分支?
有没有其他方法可以做到这一点?
可能重复:
Python中的"最小惊讶":可变默认参数
谁能解释以下奇怪的行为?
我有以下课程:
class Zoo:
def __init__(self,alist=[]):
self.animals = alist
def __len__(self):
return len(self.animals)
def add(self,a):
self.animals.append(a)
Run Code Online (Sandbox Code Playgroud)
当我做以下事情时,
In [38]: z=Zoo()
In [39]: z.add(2)
In [40]: z.add(23)
In [41]: len(z)
Out[41]: 2
In [42]: z2=Zoo()
In [43]: len(z2)
Out[43]: 2
Run Code Online (Sandbox Code Playgroud)
为什么z2.animals不是空列表?
谢谢,马蒂亚斯
使用swig 2.0.8和python 3.2,运行
swig -python -modern -py3 -o mymodule_wrap.c mymodule.i
Run Code Online (Sandbox Code Playgroud)
生成一个包装文件,其中包含
# define SWIG_init PyInit__mymodule
Run Code Online (Sandbox Code Playgroud)
在那里(注意 PyInit 和 mymodule 之间的两个下划线)。
导入失败并显示
python3 -c "import mymodule"
Traceback (most recent call last):
File "<string>", line 1, in <module>
ImportError: dynamic module does not define init function (PyInit_mymodule)
Run Code Online (Sandbox Code Playgroud)
(注意单下划线)。
手动删除下划线mymodule_wrap.c
并重新编译工作模块中的结果。
在这个问题中:SWIG and Python3 Import Error python 解释器抱怨找不到PyInit__module
.
怎么了?
关于使用的问题有很多,super()
但它们似乎都没有回答我的问题.
当调用super().__init__()
在一个子类,在超级构造所有方法调用实际上是取自子类.考虑以下类结构:
class A(object):
def __init__(self):
print("initializing A")
self.a()
def a(self):
print("A.a()")
class B(A):
def __init__(self):
super().__init__()
# add stuff for B
self.bnum=3 # required by B.a()
def a(self):
print("B.a(), bnum=%i"%self.bnum)
b=B()
Run Code Online (Sandbox Code Playgroud)
失败了
initializing A
Traceback (most recent call last):
File "classmagic.py", line 17, in
b=B()
File "classmagic.py", line 11, in __init__
super().__init__()
File "classmagic.py", line 5, in __init__
self.a()
File "classmagic.py", line 15, in a
print("B.a(), bnum=%i"%self.bnum)
AttributeError: 'B' object has no attribute …
Run Code Online (Sandbox Code Playgroud) 做完之后
git cvsimport
Run Code Online (Sandbox Code Playgroud)
我以前的提交列出属于用户"user"(用户是我的unix用户名).
我怎么能告诉git这些提交是我的(即,定义从"user"到我的"First Lastname <first@last.com>"git-user的映射?