相关疑难解决方法(0)

如何在Python中使用"with open"打开多个文件?

我想一次更改几个文件,如果我可以写入所有文件.我想知道我是否能以某种方式将多个开放调用与with语句结合起来:

try:
  with open('a', 'w') as a and open('b', 'w') as b:
    do_something()
except IOError as e:
  print 'Operation failed: %s' % e.strerror
Run Code Online (Sandbox Code Playgroud)

如果那是不可能的,那么这个问题的优雅解决方案会是什么样子?

python file-io

615
推荐指数
7
解决办法
26万
查看次数

如何比较两个文件作为单元测试的一部分,同时在不匹配的情况下获得有用的输出?

作为使用该unittest框架的某些Python测试的一部分,我需要比较两个相对较短的文本文件,其中一个是测试输出文件,另一个是参考文件。

直接的方法是:

import filecmp
...
self.assertTrue(filecmp.cmp(tst_path, ref_path, shallow=False))
Run Code Online (Sandbox Code Playgroud)

如果测试通过,它会很好地工作,但是即使失败,输出中也没有太多帮助:

AssertionError:假不为真

有没有更好的方法比较两个文件作为unittest框架的一部分,因此在不匹配的情况下会生成一些有用的输出?

python python-3.x python-unittest

10
推荐指数
3
解决办法
5304
查看次数

如何测试写入文件的Python函数

我有一个Python函数,它将列表作为参数并将其写入文件:

def write_file(a):
    try:
        f = open('testfile', 'w')
        for i in a:
            f.write(str(i))

    finally:
        f.close()
Run Code Online (Sandbox Code Playgroud)

我该如何测试这个功能?

def test_write_file(self):
    a = [1,2,3]
    #what next ?
Run Code Online (Sandbox Code Playgroud)

python unit-testing

4
推荐指数
1
解决办法
204
查看次数