从包含名为bar
(包含一个或多个文件)的目录和名为baz
(还包含一个或多个文件)的目录的目录中运行以下代码.确保没有名为的目录foo
.
import shutil
shutil.copytree('bar', 'foo')
shutil.copytree('baz', 'foo')
Run Code Online (Sandbox Code Playgroud)
它将失败:
$ python copytree_test.py
Traceback (most recent call last):
File "copytree_test.py", line 5, in <module>
shutil.copytree('baz', 'foo')
File "/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/shutil.py", line 110, in copytree
File "/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/os.py", line 172, in makedirs
OSError: [Errno 17] File exists: 'foo'
Run Code Online (Sandbox Code Playgroud)
我希望它的工作方式与我输入的方式相同:
$ mkdir foo
$ cp bar/* foo/
$ cp baz/* foo/
Run Code Online (Sandbox Code Playgroud)
我是否需要使用shutil.copy()
将每个文件复制baz
到foo
?(之后我已经将'bar'的内容复制到'foo'中shutil.copytree()
?)或者是否有更简单/更好的方法?
如何制作setup.py
包含不属于代码的文件?(具体来说,它是一个许可证文件,但它可能是任何其他东西.)
我希望能够控制文件的位置.在原始源文件夹中,该文件位于包的根目录中.(即与最顶层处于同一级别__init__.py
.)我希望它在安装软件包时保持完全无论操作系统如何.我怎么做?
t = e['updated_parsed']
dt = datetime.datetime(t[0],t[1],t[2],t[3],t[4],t[5],t[6]
print dt
>>>2010-01-28 08:39:49.000003
Run Code Online (Sandbox Code Playgroud)
如何将其转换为字符串?:
"January 28, 2010"
Run Code Online (Sandbox Code Playgroud) a='aaaa'
print isinstance(a, basestring)#true
print isinstance(a, str)#true
Run Code Online (Sandbox Code Playgroud) 功能注释:PEP-3107
我跑过一段代码,展示了Python3的功能注释.这个概念很简单,但我想不出为什么这些在Python3中实现或者对它们有任何好用.也许SO可以启发我吗?
这个怎么运作:
def foo(a: 'x', b: 5 + 6, c: list) -> max(2, 9):
... function body ...
Run Code Online (Sandbox Code Playgroud)
参数后面后面的所有内容都是"注释",后面的信息->
是函数返回值的注释.
foo.func_annotations将返回一个字典:
{'a': 'x',
'b': 11,
'c': list,
'return': 9}
Run Code Online (Sandbox Code Playgroud)
有这个有什么意义?
我目前有一个n大小的Python集,其中n> = 0.是否有快速的1或2行Python解决方案来做到这一点?例如,该集合将如下所示:
fruits = set(['apple', 'orange', 'watermelon', 'grape'])
Run Code Online (Sandbox Code Playgroud)
目标是从上面选择2个随机项目,上述集合可能包含0个,1个或更多项目.我能想到的唯一方法是将集合转换为列表(可变),从中可以访问集合长度内的2个随机唯一索引.
我试图在python中调用另一个函数内的函数,但找不到正确的语法.我想做的是这样的:
def wrapper(func, args):
func(args)
def func1(x):
print(x)
def func2(x, y, z):
return x+y+z
wrapper(func1, [x])
wrapper(func2, [x, y, z])
Run Code Online (Sandbox Code Playgroud)
在这种情况下,第一个呼叫将起作用,第二个呼叫不起作用 我想要修改的是包装函数而不是被调用的函数.
我怎样才能从今天的日期和一个人的出生日期中找到蟒蛇的年龄?birthdate来自Django模型中的DateField.