-1

我开发了一个简单的冒泡排序算法,当变量 myList = 说,[1,4,2,3,5] 时有效,但我需要从外部文本文件加载文本。这就是我所拥有的。

#New Bubble sort
f = open('Users/Luke/Dropbox/Programming/numbers.txt', 'r')
my_list = f.read()
print(my_list)
length = len(my_list)

for i in range(length):
    for j in range(length-1):
        if my_list[j] > my_list[j+1]:
            my_list[j], my_list[j+1] = my_list[j+1], my_list[j]
            print(my_list)

f.close()

这给我带来了:

FileNotFoundError: [Errno 2] No such file or directory: 'Users/Luke/Dropbox/Programming/numbers.txt'  

该目录确实存在,并且我尝试了不同的变体(反/前斜杠,包括'C:/')等。

4

5 回答 5

1

你错过了第一个'/' /Users/Luke/Dropbox/Programming/numbers.txt

于 2013-02-07T08:48:23.860 回答
0

You should use os.path Specificaly: os.path.join This function handles path delimiters for you, so it will be always correct independent from os.

Like:

from os import path
my_path = path.join('Users', 'Luke', 'Dropbox', 'Programming', 'numbers.txt')

For further info, see: http://docs.python.org/2/library/os.path.html

于 2013-02-07T13:29:13.197 回答
0

您需要反斜杠而不是正斜杠,如下所示:

file = open('C:\\Users\\Luke\\Dropbox\\Programming\\numbers.txt' ,'r')

而且由于反斜杠是转义字符,因此需要添加其中两个(第一个转义第二个)

于 2013-02-07T08:49:09.707 回答
0

你可能需要类似的东西:

'C:\\Users\\Luke\\Dropbox\\Programming\\numbers.txt'

或者

r'C:\Users\Luke\Dropbox\Programming\numbers.txt'

记住'\'是 Python 中的转义字符。

于 2013-02-07T08:50:00.280 回答
0

要获得文件的绝对确定路径:

  • 转到文件,ctrl+right-click然后从菜单中选择“复制为路径”。

  • 或者打开文件属性并获取其文件夹名称,然后您可以将其名称组合在一起以获得完整路径。

  • 或者您可以创建一个快捷方式,然后查看快捷方式的属性以查看目标位置。

  • 或者您可以将文件拖到打开的控制台中,然后查看显示的路径。

换句话说,这不应该是一个确定的问题......

要在您的程序中处理这个问题,以防它可以输入,请检查os.path.exists(path)

于 2013-02-07T09:00:24.287 回答