Python - 从外部文本文件中排序数据

时间:2013-02-07 08:43:52

标签: python algorithm file text bubble-sort

我开发了一个简单的bubblesort算法,它在变量myList = say,[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:/')等。

5 个答案:

答案 0 :(得分:1)

你先错了'/' /Users/Luke/Dropbox/Programming/numbers.txt

答案 1 :(得分:0)

你需要使用反斜杠而不是正斜杠:

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

由于反斜杠是一个转义字符,你需要添加其中两个(第一个逃脱第二个)

答案 2 :(得分:0)

您可能需要以下内容:

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

或者

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

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

答案 3 :(得分:0)

获取文件的绝对权威路径:

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

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

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

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

换句话说,这不应该是确定......

的问题

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

答案 4 :(得分:0)

你应该使用os.path 具体来说:os.path.join 此函数为您处理路径分隔符,因此它将始终独立于os。

像:

从os导入路径
my_path = path.join('用户','卢克','Dropbox','编程','numbers.txt')

有关详细信息,请参阅: http://docs.python.org/2/library/os.path.html