Python 如何用一行代码读取Swift 2.0中的文本文件

Python 如何用一行代码读取Swift 2.0中的文本文件,python,swift,file,compare,Python,Swift,File,Compare,我正在尝试读取文件的内容。 在Python中,它将是一个单行程序: seq_file = open('/some/local/file-path/on/computer.txt','r').read() print seq_file 你怎么能用Swift写一行来做同样的事情呢 我的打开文件的swift代码(仅适用于终端,不适用于游乐场): 我不知道为什么Swift中的阅读要复杂得多。如果有人愿意解释,那将非常有帮助。 我读过Swift的优点……如果它是如此新颖和强大,为什么他们会把这么简单的任

我正在尝试读取文件的内容。

在Python中,它将是一个单行程序:

seq_file = open('/some/local/file-path/on/computer.txt','r').read()
print seq_file
你怎么能用Swift写一行来做同样的事情呢

我的打开文件的swift代码(仅适用于终端,不适用于游乐场):

我不知道为什么Swift中的阅读要复杂得多。如果有人愿意解释,那将非常有帮助。
我读过Swift的优点……如果它是如此新颖和强大,为什么他们会把这么简单的任务变得如此复杂?

背景(如果有人感兴趣):
生物学本科毕业,2012年开始学习Python作为我的第一门编程语言。用它来分析至今的生物数据。现在我是一名研究生,多年来我对计算机科学越来越感兴趣。我想开始为OSX和iOS编写程序,我认为学习这门语言的一个好方法是用Swift重写我所有的算法

不知道,我想语言设计师有他们的优先权。幸运的是,swift代码可能会丢失一行代码,但仍然可读性良好:

let file_manager = NSFileManager.defaultManager()
let data: NSData = file_manager.contentsAtPath("/some/local/file-path/on/computer.txt")!
let seq_file = NSString(data: data, encoding: NSUTF8StringEncoding)
print(seq_file)
这或多或少是用java 1.4读取文件所需的:

try
{
    String line;
    File file = new File(("manifest.mf");
    BufferedReader inFile = new BufferedReader(new FileReader(file));
    while((line = inFile.readLine()) != null)
    {
            System.out.println(line)
    }
    inFile.close();
}
catch (IOException e)
{
    System.out.println("problem with file");
}
在java 8中,您可以执行以下操作:

    Files.lines(Paths.get("manifest.mf")).forEach(System.out::println);
事情变了。斯威夫特指数为1.2。不过,这看起来确实有点过时

我读过Swift的优点…如果它是如此新颖和强大, 为什么他们会把这么简单的任务弄得这么复杂

在Swift中,您可以这样做:

let string = try? NSString(contentsOfFile: "name.txt", encoding: NSASCIIStringEncoding)
print(string)

问题是你是否真的想这样做,因为较长的版本给了你更多的灵活性和更好的错误处理…

我对swift一无所知,但公平地说:你的swift代码将数据解码为字符串,而你的python 2代码目前只读取2.0字节的数据。截至2015年9月18日。试一试是什么?一开始是为了什么?它只适用于try…我想知道为什么不能绕过它?try允许捕获和处理错误。尝试如果出现错误,将使应用程序崩溃。尝试不会使应用程序崩溃,不需要catch块,但如果出现错误,将返回nil。
let string = try? NSString(contentsOfFile: "name.txt", encoding: NSASCIIStringEncoding)
print(string)