我们可以使用-cmd选项sqlite3来运行查询,但随后sqlite3打开数据库并在那里等待交互式输入.我们如何从命令行运行查询sqlite3并退出?
谢谢,
我总是使用with语句打开并写入文件:
with open('file_path', 'w') as handle:
print >>handle, my_stuff
Run Code Online (Sandbox Code Playgroud)
但是,有一个实例,我需要能够更灵活,并写入sys.stdout(或其他类型的流),如果提供而不是文件路径:
所以,我的问题是:有没有办法使用with真实文件和使用语句sys.stdout?
请注意,我可以使用以下代码,但我认为这违背了使用目的with:
if file_path != None:
outputHandle = open(file_path, 'w')
else:
outputHandle = sys.stdout
with outputHandle as handle:
print >>handle, my_stuff
Run Code Online (Sandbox Code Playgroud) 在我正在运行的一系列测试中nosetests,assertEqual(a,b)失败,a并且b(相当长的字符串)被逐字打印填充屏幕,混淆了其他所有内容.您可以通过将其添加到您的一个测试用例来创建类似的情况:
def test_my_long_strings(self):
self.assertEqual('a'*5000, 'b'*5000)
Run Code Online (Sandbox Code Playgroud)
我试着设置--verbosity=0和--debug-log=File,但他们都没有任何影响,这两个字符串仍印在屏幕上.
无论如何都要关闭assertEqual详细程度或将其重定向到除stderr之外的单独文件(还报告测试失败/通过)?