1
0
mirror of https://github.com/apachecn/lmpythw-zh.git synced 2025-05-28 12:02:19 +00:00
lmpythw-zh/ex5.md
wizardforcel 8e856839bd ex5
2017-08-02 21:04:53 +08:00

63 lines
4.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 练习 5`cat`
> 原文:[Exercise 5: cat](https://learncodethehardway.org/more-python-book/ex5.html)
> 译者:[飞龙](https://github.com/wizardforcel)
> 协议:[CC BY-NC-SA 4.0](http://creativecommons.org/licenses/by-nc-sa/4.0/)
> 自豪地采用[谷歌翻译](https://translate.google.cn/)
做完练习 4你开始了解阻碍你的东西。spike 研究是一个简单的挑战,即如何从用户获取命令行参数。练习的真正目的是记录实验笔记,了解你需要做什么来开始。你有没有发现需要改变的东西?任何奇怪的习惯或配置问题?在这个练习中,你将创建一个名为`cat`的简单命令的副本,但你的真正目的是选择一件事来更改你的配置,以便你更快入门。记住,关键不是你的`cat`的实现。而是你的起步有多快以及在45分钟内做一些有用的事情。
与以前的练习一样坚持45分钟的最后期限。为你在练习上花费多少时间设置限制是让你进入编码模式的有用技巧。事实上如果你每天花45分钟的时间来热身这是今后的理想实践。在你可以做到它之前你需要一个更好的开始所以找到你今天破除的障碍让我们开始吧。
> 警告
> 我会再说一次使之更清楚你不能在这个练习中失败。如果你将45分钟的限制看做一个分级练习并存在你应该或不应该做的有多好的任何期望那么你就错了。理解这 45 分钟的最佳方式是,它仅仅是一个机制,在后面踢你,让你往前走。这不是一个考验。我重申,这不是一个考验。不断告诉自己,放松下来,尽管去做吧。
## 挑战练习
`cat`命令是“链接”的缩写,它最常用于将文件的内容转储到屏幕上。这样使用:
```
cat somefile.txt
```
该命令输出`somefile.txt`的内容。这实际上并不是原始目的。最初是用于组合多个文件 - 因此它被称为`cat`。为此,只需将每个文件添加到`cat`
```
cat A.txt B.txt C.txt
```
然后,`cat`命令遍历每个文件,将其内容输出出来,然后在遍历完所有文件时退出。问题是,这怎么能连接文件?为此,还需要使用终端中找到的 POSIX 文件重定向功能:
```
cat A.txt B.txt C.txt> D.txt
```
你应该熟悉`>`符号的用法,如果不是,那么你需要复习基本的 Unix shell 操作。它只需要`cat`命令的标准输出(在这种情况下,它是`A.txt B.txt C.txt`的全部内容组合),并将其写入右侧的`D.txt`文件。
你需要尽快重新实现`cat`命令,使用你从练习 4 中学到的命令行参数。请记住,要执行标准输出,只需使用 Python 中的`print`即可。要了解更多有关`cat`的信息,请使用`man`命令:
```
man cat
```
这是`cat`命令的手册在45分钟内你可以得到尽可能多的实现奖励积分。
## 答案
你可以在 github 的 <http://bit.ly/lmpthwsolve> 仓库中找到我的解决方案。它在`ex5/`中,你会看到我完成了一个相当简单和肮脏的解决方案。如果你开始这个练习并且担心质量或创造力,那么你这样做是错误的。你的任务是马虎,快速,使之完成。时间限制的关键是,让你摆脱这个想法,每次按下键盘,都必须写出完美的代码来崇拜。尽你所能去做,然后之后你可以分析它并看到改进的地方。
## 研究性学习
+ 有没有任何`cat`的惊人功能,你从未使用或难以实现?
+ 你能从你的启动流程中破除一个障碍嘛?这比实现`cat`更重要,所以如果你没有破除这个障碍,那么你需要再做一遍这个练习。
+ 你能找到更多阻碍你的东西吗?简单的事情,如你的颈椎病,因为你座位太低了?没有一个很好的键盘?你的精神状态怎么样?有没有你以为阻止你的东西?你能停止思考它们吗?
## 深入学习
这不是一本自助手册,我不会修改你的心智,但我发现,学习新事物的巨大障碍,不是主题,而是你的恐惧。如果在这个练习中发现,缺失的想法或恐惧让你无法开始,那么我建议你在实现 45 分钟的黑魔法之前,先花 10 分钟记录你感觉如何。写下你的恐惧,焦虑和感觉将表达他们,并帮助你了解,担心一些事情是非常不实际的,因为它们就像 45 分钟的黑魔法那样简单。尝试一下。你会感到惊讶的是,关于你的感觉的 10分钟的写作会改变你的感觉。