我有一个远程机器,它结合了多行事件并通过伐木工人协议发送它们.
是什么东西看起来像这样:
{
"message" => "2014-10-20T20:52:56.133+0000 host 2014-10-20 15:52:56,036 [ERROR ][app.logic ] Failed to turn message into JSON\nTraceback (most recent call last):\n File \"somefile.py", line 249, in _get_values\n return r.json()\n File \"/path/to/env/lib/python3.4/site-packages/requests/models.py\", line 793, in json\n return json.loads(self.text, **kwargs)\n File \"/usr/local/lib/python3.4/json/__init__.py\", line 318, in loads\n return _default_decoder.decode(s)\n File \"/usr/local/lib/python3.4/json/decoder.py\", line 343, in decode\n obj, end = self.raw_decode(s, idx=_w(s, 0).end())\n File \"/usr/local/lib/python3.4/json/decoder.py\", line 361, in raw_decode\n raise ValueError(errmsg(\"Expecting value\", s, err.value)) from None\nValueError: Expecting value: line 1 column 1 (char 0), …Run Code Online (Sandbox Code Playgroud) 我正在通过可汗学院的统计学课程作为我大学时代的一些复习,并且作为一种让我快速掌握大熊猫和其他科学Python的方法.
我有一张来自可汗学院的桌子:
| Undergraduate | Graduate | Total
-------------+---------------+----------+------
Straight A's | 240 | 60 | 300
-------------+---------------+----------+------
Not | 3,760 | 440 | 4,200
-------------+---------------+----------+------
Total | 4,000 | 500 | 4,500
Run Code Online (Sandbox Code Playgroud)
我想用pandas重新创建这个表.当然,我可以使用类似的东西创建一个DataFrame
"Graduate": {...},
"Undergraduate": {...},
"Total": {...},
Run Code Online (Sandbox Code Playgroud)
但这似乎是一种天真的方法,既快速挫败,又不是真正可扩展的.
我有这样的非总计部分:
df = pd.DataFrame(
{
"Undergraduate": {"Straight A's": 240, "Not": 3_760},
"Graduate": {"Straight A's": 60, "Not": 440},
}
)
df
Run Code Online (Sandbox Code Playgroud)
我一直在寻找并发现了一些很有前景的东西,比如:
df['Total'] = df.sum(axis=1)
Run Code Online (Sandbox Code Playgroud)
但我没有发现任何非常优雅的东西.
我确实找到了crosstab看起来应该做我想要的功能,但似乎为了做到这一点,我必须为所有这些值创建一个由1/0组成的数据帧,这看起来很愚蠢,因为我已经已经有一个聚合.
我发现一些方法似乎手动构建一个新的总计行,但似乎应该有一个更好的方法,如:
totals(df, rows=True, columns=True)
Run Code Online (Sandbox Code Playgroud)
或者其他的东西.
这是否存在于熊猫中,还是我必须拼凑自己的方法?
我想让浏览器从服务器下载PDF文档,而不是在浏览器中打开文件.我正在使用C#.
下面是我使用的示例代码.它不工作..
string filename = "Sample server url";
response.redirect(filename);
Run Code Online (Sandbox Code Playgroud) 我刚刚开始学习TDD,我正在使用Tkinter GUI开发一个程序.唯一的问题是,一旦.mainloop()调用该方法,测试套件就会挂起,直到窗口关闭.
这是我的代码示例:
# server.py
import Tkinter as tk
class Server(tk.Tk):
def __init__(self):
tk.Tk.__init__(self)
self.mainloop()
Run Code Online (Sandbox Code Playgroud)
# test.py
import unittest
import server
class ServerTestCase(unittest.TestCase):
def testClassSetup(self):
server.Server()
# and of course I can't call any server.whatever functions here
if __name__ == '__main__':
unittest.main()
Run Code Online (Sandbox Code Playgroud)
测试Tkinter应用程序的适当方法是什么?还是只是'不'?
我收到这个错误:
Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Python34\lib\tkinter\__init__.py", line 1538, in __call__
return self.func(*args)
File "C:/Users/Marc/Documents/Programmation/Python/Llamachat/Llamachat/Llamachat.py", line 32, in download
with open(place_to_save, 'wb') as file:
PermissionError: [Errno 13] Permission denied: '/goodbye.txt'
Run Code Online (Sandbox Code Playgroud)
运行时:
def download():
# get selected line index
index = films_list.curselection()[0]
# get the line's text
selected_text = films_list.get(index)
directory = filedialog.askdirectory(parent=root,
title="Choose where to save your movie")
place_to_save = directory + '/' + selected_text
print(directory, selected_text, place_to_save)
with open(place_to_save, 'wb') as file:
connect.retrbinary('RETR ' …Run Code Online (Sandbox Code Playgroud) 这是一个常见的情况,必须有一个明智的解决方案,但尽管阅读和丰富的Git体操,我的大脑疼痛,我无法做这项工作......
我正在使用Wordpress,尽管这适合大多数网站开发方案.我想用git repo管理站点安装,并且还可以在单独的repos中管理各种WP插件,jQuery插件和其他代码位,这些插件可以很容易地从外部源拉出/推送.在你看细节之前看起来很简单......
"子文件夹"标准 不应将每个插件的文件夹绑定到其源库的根文件夹.许多repos有多个嵌套文件夹,例如"my-repo-name/...","dev /","test /","src /",其中后者的内容是所需的东西.这对于保持引用URL清洁并最大限度地减少公共垃圾很重要.
"无Proxys"标准 理想的解决方案不需要额外的中间分支或回购.将更改推送到插件的外部源应该很简单,不需要多次中间合并/推送.
"真实文件"标准 理想情况下,整个网站的外部存储库实际上应该包含插件子项目的文件(即没有"子模块").虽然我可以被说服远离这一个...
"发布"标准 它必须与rsync和/或git push'ing到现场服务器很好地兼容
Git子模块简单到足以进行更改和推/拉但子模块在"子文件夹"和"实际文件"标准上失败
Git read-tree/subtree merge解决了"Real Files"问题,read-tree实际上让你引用了一个分支的子文件夹但是当我这样做并试图合并master上的更改上游时,Git没记住它来自一个子文件夹并且合并了master的整个结构进入ext libs跟踪分支...所以FAIL就这个标准.
Apenwarrs子树扩展(这里) 非常适合"真实文件"标准,并且相当简单的推/拉,直到您想要强制执行"子文件夹"规则.最好它似乎需要中间分支,您可以从远程跟踪分支中分离出所需的文件夹,然后将其作为子树添加到主分支.我没有太多运气将主人的变化合并/推送回源回购.我仍然认为这里可能存在......
与外部repo的符号链接 很好的解决方案,直到GIT在符号链接后停止.现在它失败了"真实文件"和"发布"标准
嵌套repos
在某处我看到了一个SO答案,如果你明确git add一个包含另一个repo并包含尾部斜杠的文件夹,git将不会对其进行子模块,而是跟踪单个文件.这似乎很有希望,但它在"子文件夹"标准上失败了.
我已经看到了"稀疏结账"的提法 - 或许是涉及分支修剪的事情.我希望避免一个涉及shell脚本的解决方案,或者是如此复杂以至于每次都要重新学习它(不经常)我会对插件进行更改.它需要比为每个插件维护一个单独的repo并从主CMS安装中来回复制更容易.
当然有人有一个简单的功能方式来使这个常见的开发场景工作?在此先感谢您的帮助...
也许我的Google-Fu让我失望了,但是我无法确定在.NET中比较一个可空的内容是否总是比其他内容少.
我有一些类似的代码
MyClass findLatest(List<MyClass> items){
DateTime? latest_tstamp = null;
MyClass latest_item = null;
foreach(var item in items){
if (latest_tstamp < item.tstamp){
latest_tstamp = item.tstamp;
latest_item = item;
}
}
return latest_item;
}
Run Code Online (Sandbox Code Playgroud)
它似乎适用于我尝试的几个有限的案例(当然也item.tstamp被宣布DateTime? tstamp).
这是保证的行为吗?
根据答案(以及Jon Skeet的[另一个问题的答案]),我已经进行了以下检查:
if (item.tstamp != null &&
(latest_tstamp == null || latest_tstamp < item.tstamp)){
// do stuff
}
Run Code Online (Sandbox Code Playgroud) 或者我该如何使这个东西工作?
我有一个Interval对象:
class Interval(Base):
__tablename__ = 'intervals'
id = Column(Integer, primary_key=True)
start = Column(DateTime)
end = Column(DateTime, nullable=True)
task_id = Column(Integer, ForeignKey('tasks.id'))
@hybrid_property #used to just be @property
def hours_spent(self):
end = self.end or datetime.datetime.now()
return (end-start).total_seconds()/60/60
Run Code Online (Sandbox Code Playgroud)
一个任务:
class Task(Base):
__tablename__ = 'tasks'
id = Column(Integer, primary_key=True)
title = Column(String)
intervals = relationship("Interval", backref="task")
@hybrid_property # Also used to be just @property
def hours_spent(self):
return sum(i.hours_spent for i in self.intervals)
Run Code Online (Sandbox Code Playgroud)
当然,添加所有典型的设置代码.
现在,当我尝试做 session.query(Task).filter(Task.hours_spent > 3).all()
我NotImplementedError: <built-in function getitem> …
我正在使用Python的Pathlib,我想采取类似的东西
p = Path('/path/to/foo')
Run Code Online (Sandbox Code Playgroud)
然后尝试几种不同的扩展.我可以
for ext in ['.txt', '.md', '.note']
filename = Path(str(p) + ext)
Run Code Online (Sandbox Code Playgroud)
但这感觉有点尴尬.有一个更好的方法吗?
在不同的项目上工作,只要任务完成,我就可以选择不同的编程语言.
我想知道在Python中编写程序与在C中编写程序之间在性能方面的真正区别是什么.
要完成的任务是多种多样的,例如排序文本文件,磁盘访问,网络访问,文本文件解析.
例如,在C与Python中使用相同的算法排序文本文件之间是否存在明显的差异?
根据您的经验,考虑到当前CPU(i7)的强大功能,它是否真的是一个显着的差异(考虑到它的程序不会让系统瘫痪).
谢谢!:)
python ×5
python-3.x ×2
tkinter ×2
.net ×1
asp.net ×1
c ×1
c# ×1
git ×1
logstash ×1
nullable ×1
pandas ×1
pathlib ×1
performance ×1
plugins ×1
regex ×1
sqlalchemy ×1
tdd ×1
unit-testing ×1
windows ×1