我想读一个文件然后把它写回来.这是我的代码:
file = open( zipname , 'r' )
content = file.read()
file.close()
alt = open('x.zip', 'w')
alt.write(content )
alt.close()
Run Code Online (Sandbox Code Playgroud)
这不起作用,为什么?????
编辑:
重写的文件已损坏(Windows上的python 2.7.1)
我想比较在python中找到函数根的不同方法(如牛顿方法或其他简单的基于calc的方法).我不认为编写算法会有太多麻烦.什么是进行实际比较的好方法?我读了一下Big-O.这会是要走的路吗?
(任何项目的想法或曲折也将不胜感激)
谢谢.
我一直在自学自己的数据结构在python中,不知道我是否过度思考(或解密!)以下问题:
我的目标是提出一种有效的算法
使用该算法,我的目标是确定是否存在整数,使得A [i] = i在增加的整数数组中
然后我想找到大O符号的运行时间作为n的长度的函数?
所以这不会只是O(log n)的略微修改版本,其功能相当于:f(i)= A [i] - i.我读这个问题错了吗?任何帮助将不胜感激!
使用Python的sqlite3模块时关闭游标有什么好处吗?或者它只是DB API v2.0的工件,它可能只对其他数据库有用吗?
connection.close()释放资源是有道理的; 但是,目前还不清楚cursor.close()实际上是做什么的,无论它是实际释放某些资源还是什么都不做.它的文档是不明智的:
>>> import sqlite3
>>> conn = sqlite3.connect(':memory:')
>>> c = conn.cursor()
>>> help(c.close)
Help on built-in function close:
close(...)
Closes the cursor.
Run Code Online (Sandbox Code Playgroud)
注意,这是一个完全不同的问题,为什么在查询sqlite数据库时需要创建游标?.我知道游标的用途.问题是关于cursor.close()方法实际执行的操作以及调用它是否有任何好处.
来自https://docs.python.org/3.6/library/functions.html#getattr
Run Code Online (Sandbox Code Playgroud)getattr(object, name[, default])返回指定属性的值
object.name必须是一个字符串.如果字符串是对象属性之一的名称,则结果是该属性的值.例如,getattr(x, 'foobar')相当于x.foobar.如果named属性不存在,default则返回(如果提供),否则AttributeError引发.
如何getattr与object.__getattribute__和object.__getattr__?
不getattr打电话object.__getattribute__或object.__getattr__?我猜这个前者?
假设我有一个用Python或Ruby编写的脚本,或用C编写的程序.如何确保脚本无法访问网络功能?
当我导入一个具有类的模块时,在首次读取该类并创建类对象时执行什么代码?有什么方法可以影响发生的事情吗?
编辑:我意识到我的问题可能有点过于笼统......
我正在寻找更低级别的东西,这将允许我从C++进行内省.我用Python扩展我的C++应用程序.我有一些在C++中定义并在Python中公开的类.用户可以在脚本中继承这些类,并且我希望能够在首次定义时获取有关它们的详细信息.
我一直在为财务会计模型构建一个演示(可能是一个小应用程序).我正在使用VBA/Excel进行数据输入(例如表格),计算和结果表示,我也从VBA程序向MS Access数据库运行SQL问题.原则上,这些组件的功能对我来说相当不错(我意识到VBA有点过时并且不是最流畅的).我已经这样做了一段时间了(而且我是一名具有其他语言的古老经验的工程师,虽然从未作为程序员工作过)并且几乎完全处于最佳状态,并且似乎能够找到我所做的编程错误.但是,当发生故障时我倾向于对VBA发疯,这似乎不是由我造成的,而是由于VBA的不稳定性/缺点.
所以我的问题是,完全没有使用Python:我可以基本上使用上面描述的Python吗?你能不能让我知道Python是否比VBA/Excel更稳定,更不容易出错?(我正在使用Windows 7)感谢您的建议
我想创建一个行为python变量的类,但在更改/读取"变量"时调用一些回调函数.
换句话说,我希望能够如下使用该类:
x=myClass(change_callback, read_callback)
Run Code Online (Sandbox Code Playgroud)
将x定义为myclass的一个实例.构造函数(INIT)将2个函数作为参数:每次x更改时调用的函数,以及每次x"读取"时调用的函数
以下声明:
x=1
Run Code Online (Sandbox Code Playgroud)
将"保存"1并触发change_callback(1)可以执行任何操作的呼叫.
以下声明:
a=x
Run Code Online (Sandbox Code Playgroud)
将检索存储的值并调用read_callback()可能会更改存储的值并执行其他操作.
我希望这适用于任何类型,例如,以便能够编写如下内容:
x=[1 2 3] 哪会触发 change_callback([1 2 3])
x.append(4)会触发change_callback([1 2 3 4])(也可能是read_callback()之前的调用)
x={'a':1} 会触发 change_callback({'a':1})
print(x) 当然,会触发对read_callback()的调用...并返回最后存储的值进行打印.
这个想法是可以记录对变量的任何访问,或者无缝地生成其他计算.
我觉得这应该是可能的,但我并没有真正看到我的对象应该继承的内容......如果我必须将我限制为一种类型,例如列表,是否有任何方法可以重新定义所有赋值运算符(包括"one go"中的append()...等方法,保持原始行为(基类方法)并添加回调...
或者是否有更合适的方法(模块......)来实现相同的目标......?
提前致谢,
删除元素的时间复杂度是collections.deque多少?
例如:
deq = collections.deque([1, 2, 3])
del deq[1]
Run Code Online (Sandbox Code Playgroud)