为什么要写这个内容
今天在AirTest讨论群里面有人提问、但是由于问题实在是。。。。所以无人回答、大致内容如下。
提问者:请问下 python 怎么远程操作win服务器
我:需求没说清楚呀、就远程执行几条命令 还是什么?
提问者:1、获取服务器特定文件夹下的文件 2、运行可执行文件
我:windows上有一个WS-Management协议、可以用PowerShell来远程执行一些命令
我:你可以看看能不能解决你的问题
原本以后对话到此结束了、提问者自己去Google一下就能知道该怎么做了、可是半小时之后提问者再次在群里提问
提问者: import paramiko 这个可以吗
其他群成员:这大哥天天问的都是一些奇怪的问题、你import一个库,也要问别人可以不可以。。
当然这个提问者、到最后也没人在回答他的问题;
所以我翻出一篇2004写的老文章How To Ask Questions The Smart Way
;这篇文章的最新版本是3.9;也就是2014年更新。
原作者是Eric S. Raymond,这篇文章在黑客界拥有很高的地位,指引无数黑客前进;
原文比较长、我把重要的核心的内容提炼出来、希望对所有人有帮助。
提问前需要做的事情
在通过邮件、讨论组、论坛或社区提问之前,请先尝试做以下事情寻找答案
- 使用论坛、知乎、百度知道、Quaro的搜索功能;
- 善用google、百度或其他搜索引擎在网络搜寻;
- 阅读说明书或者使用手册;
- 阅读网站上[常见问题解答];
- 自己检查或做试验;
- 请教熟悉此问题的朋友;
- 如果你是程序员,尝试阅读源代码。
提问时,请先表明你已做了上述事情,这将有助于改变你是懒又肥的寄生虫形象,同时给别人一种你不会浪费别人时间的印象。
耐心一点,不要指望Google搜索几秒钟就能解决一个复杂的问题。读一下与产品或项目相关的常见问题解答。
认真地思考,准备好你的问题。草率的提问只能得到草率的回答,甚至得不到回答。
永远不要假设你能得到问题的答案、你没有为问题付费;
认真选择提问的论坛、讨论群
谨慎地要选择提问的地方
- 张贴与论坛主题无关的问题;
- 在面向高级技术问题的论坛上张贴初级的问题,反之亦然;
- 在不同的论坛或讨论小组同时张贴同一个问题;
- 向非熟人或没有义务解决你问题的人发送私人问题邮件
用字义清晰、语法标准、拼写正确的语句撰写问题
经验告诉我们,粗心草率的人通常也会粗心草率地思考与编程。回答这些粗心草率者的提问没有什么好处,我们宁可将时
间花在其他地方。
清楚、正确地表达你的问题非常重要。如果你嫌斟字酌句麻烦,那我们也懒得回复。所以,请稍微花一点点时间组织语
言,也用不着太正式和死板──事实上,黑客文化提倡使用非正式词句、网络语言和幽默的语句,同时注意在遣词造句的过
程中体现文字的准确性和你思考问题的积极性。
准确简练地描述问题
问题的描述应该包含以下内容
- 仔细而清楚地描述你的问题或错误的症状;
- 问题发生的环境(主机品牌、操作系统、应用程序,任何相关的);
- 提问前做过的调查研究及对其的理解;
- 提问前为确定问题而采取的诊断步骤;
- 最近对计算机或软件配置的任何相关改变;
- 如果可能,提供在可控环境下重现问题的方法;
话不在多,好在精炼
你应该精炼且简要地描述问题,简单地将堆砌代码或罗列数据是没有用的。如果你有一个体积庞大且复杂的测试样本,尝试将其裁剪,越小越好。
这至少有三个原因
第一:如果你把精力放在简化问题上,你就更有可能得到答案;
第二:简化问题会使你更有可能得到一个答案。有用回答。
第三:在完善错误报告的过程中,您可以自己开发一个修复程序或解决方法。
跪求是不能解决问题的
有些人明白用傲慢的方式提问是得不到答复的,所以他们走了另一个极端,转而低声下气地哀求:
有的论坛专门设置了新手提问区,如果你真的认为遇到了新手该遇到的问题,直接到那去提问就好,别再跪求了。
明确你的问题
明确的告诉受访者、你需要得到什么样的帮助、提供思路?提供解决方案?还是直接提供代码片段?
问题解决后,对解决方案做一个简短的说明
在问题解决后向所有帮助过的人回复一条信息,让他们知道问题是如何解决的并再次感谢
这种后续的跟进信息不仅是礼貌的回复,而且是内容的分享,因为这些后续的解决方案会帮助其他有同样问题的人,他们会在论坛中找到你的解决方案,并因此受益。
最后、考虑到将来也会有人面临类似的问题,如何避免重蹈覆辙呢?你可以自己写一篇文章或者对FAQ进行补充;比如我这篇文章。
回到我们最开始的提问者
如果能修改一下提问的内容、那么得到的回答的机率会直线上升
提问者:我想用Python来远程操作一台windows服务器、获取一下指定文件夹下的文件、并执行它;
提问者:前面有一个前辈/友人提供了一个思路用PowerShell
配合WS-Management
协议;我在用paramiko
第三方库的时候遇到点问题、babababababa?
请问:大家有没有遇到和我一样的问题、或者有其他的解决方案呀?
对于看到这个问题的人来说
- 1、问题明确、想远程执行Windows服务器上执行文件
- 2、在用
paramiko
第三方库来做这个事情、但是遇到点问题
这样以来、用过paramiko
库的人可能会给他一些建议;
如果有人用Python远程执行过windows上的执行文件也是可以提供另外的解决思路;