Tag: python

Python JSON转储/附加到.txt与新行上的每个variables

我的代码创build一个字典,然后存储在一个variables。 我想将每个字典写入JSON文件,但是我希望每个字典都在一个新的行上。 我的词典: hostDict = {"key1": "val1", "key2": "val2", "key3": {"sub_key1": "sub_val2", "sub_key2": "sub_val2", "sub_key3": "sub_val3"}, "key4": "val4"} 我的部分代码: g = open('data.txt', 'a') with g as outfile: json.dump(hostDict, outfile) 这将每个字典附加到'data.txt',但它是这样内联的。 我希望每个字典条目都在新的行中。 任何意见,将不胜感激。

Python脚本给出::没有这样的文件或目录

我有几个Python脚本工作得很好,但一个脚本(截至今天上午)开始给我这个错误,如果我试图从bash运行它: : 无此文件或目录 我可以通过执行python script_name.py来运行'broken'脚本,并且在看了一下我拾取的一般想法之后,也许我的hashbang的行结束被改变了(默默地),所以我看着行结束一个工作脚本和一个破坏的脚本通过VI中的:set list选项,如这个问题所示 – > 在文本文件中查看行结尾 这两个文件似乎结束使用相同的字符( $ ),所以我有点在如何从这里继续的损失。 具体而言,如果实际上“ set list不是正确的方法,那么如何实际“查看”结束行。 PS:脚本是可执行的,并且shebang在那里,我说只是这个脚本在周末之前工作正常,但是从今天早上开始给我这个错误。 – 编辑: – 通过dos2unix运行脚本确实再次运行,但我想知道有什么方法可视化以VI(M)结尾的行,或者为什么Geany以某种方式将行结束符转换为首位(因为我从来没有在DOS下工作/ Windows系统)。

Python烧瓶故意空响应

有没有办法从特定的属性返回一个响应(来自make_response()对象或类似的),以便它不会再次渲染页面,也不会做任何事情。 我试图在服务器上运行代码而不生成任何输出 一个简单的“返回无”产生: ValueError: View function did not return a response 这应该是可能的,因为下面只是下载一个文件,并不呈现模板: myString = "First line of a document" response = make_response(myString) response.headers["Content-Disposition"] = "attachment; filename=myFile.txt" return response 任何帮助将不胜感激!

为什么“python setup.py sdist”在项目根目录下创build不需要的“PROJECT-egg.info”?

当我跑步 python setup.py sdist 它在我的./dist目录下创build一个sdist。 这包括我的“dist”文件夹中的“PROJECT-egg.info”文件,我不使用它,但它不会伤害到我,所以我忽略它。 我的问题是为什么它也会在我的项目根目录中创build一个“PROJECT-egg.info”文件夹? 我可以让它停止创build这个? 如果不是,我可以在创buildsdist后立即删除它吗? 我正在使用从setuptools导入的“设置”function。 WindowsXP,Python2.7,Setuptools 0.6c11,分发0.6.14。 我的设置configuration如下所示: {'author': 'Jonathan Hartley', 'author_email': 'tartley@tartley.com', 'classifiers': ['Development Status :: 1 – Planning', 'Intended Audience :: Developers', 'License :: OSI Approved :: BSD License', 'Operating System :: Microsoft :: Windows', 'Programming Language :: Python :: 2.7'], 'console': [{'script': 'demo.py'}], 'data_files': [('Microsoft.VC90.CRT', ['..\\lib\\Microsoft.VC90.CRT\\Microsoft.VC90.CRT.manifest', '..\\lib\\Microsoft.VC90.CRT\\msvcr90.dll'])], […]

通过lxml的属性查找元素

我需要parsing一个XML文件来提取一些数据。 我只需要一些具有某些属性的元素,下面是一个文档示例: <root> <articles> <article type="news"> <content>some text</content> </article> <article type="info"> <content>some text</content> </article> <article type="news"> <content>some text</content> </article> </articles> </root> 在这里我只想得到types为“新闻”的文章。 什么是最有效和优雅的方式来做到这一点与lxml? 我尝试了查找方法,但它不是很好: from lxml import etree f = etree.parse("myfile") root = f.getroot() articles = root.getchildren()[0] article_list = articles.findall('article') for article in article_list: if "type" in article.keys(): if article.attrib['type'] == 'news': content = article.find('content') […]

从模块中的函数内访问模块级variables

我希望能够做到这样的事情: #mymodule var = None def load(): var = something() 其他模块: #secondmodule import mymodule mymodule.load() #thirdmodule from mymodule import var print var #Shouldn't be None 但我不知道如何从模块中定义的函数引用模块variables。 这可能吗? 或者我需要在每个我不想使用这个地方的全球声明。 还是我在这个完全错误?

在Python中计算numpy ndarraymatrix中的非NaN元素的数量

我需要计算numpy ndarraymatrix中的非NaN元素的数量。 如何有效地在Python中做到这一点? 这是我实现这个简单的代码: import numpy as np def numberOfNonNans(data): count = 0 for i in data: if not np.isnan(i): count += 1 return count 在numpy中是否有内置函数? 效率很重要,因为我在做大数据分析。 thnx任何帮助!

在Python中parsing非零填充时间戳

我想从时间戳得到date时间,如下所示: 3/1/2014 9:55 with datetime.strptime ,或者其他的东西。 月份,月份的date和小时不是零填充的,但是似乎没有列出的格式化指令可以自动parsing。 最好的方法是什么? 谢谢!

值得使用sqlalchemy-migrate吗?

我有一个使用sqlalchemy(在Pylons内)的Web应用程序。 我需要有效地改变模式,至less每天可以更改生产版本,也许更多,而不会丢失数据。 我已经在周末结束了一些平移的工作,我会说这给了我一个不好的印象。 首先, 我认为它不能帮助两个数据库引擎之间的迁移 ; 这是sqlalchemy可以完成的。 其次,这些文档似乎并不是最新的。 我不得不改变一些命令行选项,比如在每个命令中提供版本库path,这可能是一个迁移的错误。 但最糟糕的是它的“manage.py testing ”命令。 不仅它实际上修改了数据库 (在文档中明确指出了这一点,所以我不能指责迁移),但是我的第一个迁移脚本只是简单地进行了笨拙的模式迁移,使升级后的降级数据库与原来的模式不同 。 但是“manage.pytesting”只是回答了类似的问题 success ! 也就是说,它甚至不检查模式是否处于一致状态。 那么是否值得使用迁移? 与S.Lott提出的与良好实践相关的Do It Yourself方法相比,有没有什么优势? 是否有替代sqlalchemy-migrate实际上简化了迁移过程,或者我只是试图使用先前不好的迁移(然后请告诉我为什么不明显优于上面链接中build议的创buildCSV列)? 非常感谢!

在Windows上等价于“source”:如何从virtualenv运行python脚本

所以,我已经做了一些bash脚本,但是Windows上的批处理脚本很less。 我试图激活一个python virtualenv,运行一个python脚本,然后在脚本退出时closuresvirtualenv。 我有一个名为env的文件夹,这是我的virtualenv,还有一个名为work的文件夹,其中包含我的脚本 这是我到目前为止: %~dp0env\Scripts\activate.bat python %~dp0work\script.py deactivate 但是,当我运行脚本时,它会激活virtualenv然后停止。 它不会到达第二行并运行Python脚本。 有没有什么办法来“激活”激活脚本文件夹,以便批处理脚本的其余部分可以像我从命令行调用activate.bat一样运行?