问题标签 [output-formatting]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
21 回答
839434 浏览

python - 如何在不截断的情况下打印完整的 NumPy 数组?

当我打印一个 numpy 数组时,我得到一个截断的表示,但我想要完整的数组。

有没有办法做到这一点?

例子:

0 投票
3 回答
274091 浏览

r - 控制R中打印输出中的小数位数

R中有一个选项可以控制数字显示。例如:

应该以 10 位数字给出计算结果,直到 R 会话结束。在R的帮助文件中,digits参数的定义如下:

位数:控制打印数值时要打印的位数。这只是一个建议。有效值为1...22,默认值为7

所以,它说这只是一个建议。如果我喜欢总是显示 10 位数字,而不是更多或更少怎么办?

我的第二个问题是,如果我想显示超过 22 位数字,即更精确的计算,如 100 位数字,该怎么办?是否可以使用基本 R,或者我需要额外的包/功能吗?

编辑:感谢jmoy的建议,我试过sprintf("%.100f",pi)了,它给了

其中有 48 位小数。这是R可以处理的最大限制吗?

0 投票
3 回答
9749 浏览

git - 使用 console2 时如何启用 msysgit 彩色输出

使用 console2 时,我很难在 Windows 上启用 git 彩色输出。

为了欺骗 git,我已经设置了 SET TERM = 'cygwin'。这启用了标准 cmd.exe 提示中的颜色,但不在 console2 中。我已经验证 console2 也可以看到 env var。

任何人都知道如何让这个工作?

0 投票
2 回答
103 浏览

python - 在 python 2.6 中打印出一堆实例属性的优雅方法?

首先是一些背景。我正在解析一个简单的文件格式,并希望稍后在 python 代码中重新使用结果,所以我制作了一个非常简单的类层次结构并编写了解析器来从我正在处理的文本文件中的原始记录构造对象.

同时,我想将数据加载到遗留数据库中,加载器文件采用简单的制表符分隔格式。最直接的方法是执行以下操作:

因为有很多列要打印出来,我想我会使用这个Template类来更容易看到什么是什么,即:

而且我想我可以使用记录代替substitute调用使用的地图,并为派生值添加一些额外的关键字:

不幸的是,这失败了,抱怨记录实例没有属性__getitem__

所以我的问题是双重的:

  • 我需要实施__getitem__吗?如果需要,如何实施?
  • 有没有更优雅的方式来处理这样的事情,您只需要输出一堆您已经知道名称的属性?
0 投票
3 回答
33932 浏览

c++ - 倒带 std::cout 以回到行首

我正在为处理一堆文件的 Mac OS X 编写一个命令行工具。我想向用户显示正在处理的当前文件,但不希望有大量文件污染终端窗口。

相反,我想使用一行来输出文件路径,然后将该行重用于下一个文件。是否有要输出的字符(或其他代码)来std::cout完成此操作?

另外,如果我想将此工具重新定位到 Windows,两个平台的解决方案是否相同?

0 投票
6 回答
41887 浏览

bash - 在 bash 中,如何添加带前导零的整数并维护指定的缓冲区

例如,我想从 001 数到 100。这意味着零缓冲区将从 2、1 开始,然后在达到 100 或更多时最终为 0。

例如:001 002 ... 010 011 ... 098 099 100

如果数字有预定义的零个数,printf "%02d" $i,我可以这样做。但这是静态的而不是动态的,在我的示例中不起作用。

0 投票
5 回答
3472 浏览

c++ - C 是否有任何 setfill() 替代方法?

在 C++ 中:

输出:

C有什么setfill()替代品吗?或者如何在不手动创建字符串的情况下在 C 中执行此操作?

0 投票
3 回答
2106 浏览

php - 输出或输入过滤?

输出或输入过滤?

我经常看到人们写“过滤你的输入”,“清理你的输入”,不信任用户数据,但我只同意最后一个,我认为信任任何外部数据都是一个坏主意,即使它是相对于内部的系统。

输入过滤: 我看到的最常见的。采取表单发布数据或任何其他外部信息源并在保存时定义一些边界,例如确保文本是文本,数字是数字,sql是有效的sql,html是有效的html并且它不包含有害标记,然后将“安全”数据保存在数据库中。

但是在获取数据时,您只需使用数据库中的原始数据。

在我个人看来,数据从来都不是真正安全的。虽然听起来很简单,但只需过滤从表单和 url 中获得的所有内容,实际上它比这要困难得多,它可能对一种语言安全,但对另一种语言则不然。

输出过滤: 这样做时,我将原始未更改的数据(无论它可能是什么)保存到数据库中,然后在访问数据时过滤掉有问题的代码,这有它自己的优势: 这在 html 之间增加了一层和服务器端脚本。 我认为这是各种数据访问分离。

现在数据根据上下文进行过滤,例如,我可以将数据库中的数据以纯转义文本、html 或任何地方的形式呈现在 html 文档中。

这里的缺点是您永远不要忘记添加过滤,这比输入过滤要难一些,并且在提供数据时会使用更多的 CPU。

这并不意味着您不需要进行验证检查,您仍然需要,只是您不保存过滤后的数据,您验证它并在数据因某种原因无效时向用户提供错误消息。

因此,与其“过滤你的输入”,不如说它应该是“验证你的输入,过滤你的输出”。

那么我应该使用“输入验证和过滤”还是“输入验证和输出过滤”?

0 投票
3 回答
3070 浏览

.net - .Net:如何抑制 TraceSource 标头(“SourceName TraceEventType:Id:”)?

我有一个 TraceSource 对象,用于记录 VB.Net 应用程序的初始化。它附加了几个 TraceListener:

  • 控制台跟踪监听器
  • TextWriterTraceListener
  • 事件日志跟踪监听器

对于前两个,我希望条目输出是“原始的”——也就是说,没有标准标题:

SourceName TraceEventType: Id :

我已经实现了一个包装器,它在 TraceEventType 设置为 Verbose 时执行此操作:

我可以对所有跟踪执行此操作,但是 EventLog 中的所有条目都将使用 Level = Information 列出。所以我希望能够指定跟踪消息的严重性,但我在 TraceSource 或 TraceListeners 上找不到任何允许我这样做的方法。据我所知, TraceListener 具有以下写入选项:

  • 写()
  • 写线()
  • 跟踪数据()
  • 跟踪事件()
  • 跟踪传输()

最后 3 个允许提供 TraceEventType (它正确地标记了 EventLog 条目,但是到控制台和日志文件的结果输出然后包含前缀并最终像这样(例如):

Bootstrapper Warning: 0 : Failed to validate assembly

有没有办法覆盖 ConsoleTraceListener 和 TextWriterTraceListener 如何格式化其输出以不包含此标头,同时能够使用 TraceEventType (用于 EventLog)标记条目?

这是迄今为止我想出的最好的:

这似乎可行,但在 Microsoft 的TraceListener.TraceEvent 方法的文档中,它说:

Important: This method is not intended to be called directly by application code but by members of the Debug, Trace, and TraceSource classes to write trace data to output.

..所以我不确定这是否是一件好事?

编辑:

我刚刚意识到,如果我在这里执行上一个示例的操作,则根本不需要 TraceSource,因为无论如何它都被绕过了。但这也意味着我必须实现自己的过滤和切换机制(但这可能是一个可以让它以我想要的方式工作的代价)。

0 投票
6 回答
6063 浏览

python - 格式化帕斯卡三角形

我目前正在做一项家庭作业,以在 Python中生成所谓的帕斯卡三角形。

到目前为止,这就是我所拥有的:

到目前为止,程序所做的是执行三角形的计算。它计算每行中的数字(从 1 开始),并在达到用户指定的行数后停止。

但是,我不确定如何格式化我的三角形。它当前打印为:

我想要的输出是:

(由于括号/逗号,它有点偏离,但我现在只是想降低一般格式。)

感谢您提供的任何帮助!