Python - 从外部文本文件进行冒泡排序

-1 投票
5 回答
2543 浏览
提问于 2025-04-17 15:04

我写了一个简单的冒泡排序算法,它在我的列表 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:/' 等等)。

5 个回答

0

你可能需要类似这样的东西:

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

或者

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

记住,'\' 在Python中是一个转义字符。

0

你应该使用 os.path 这个模块。
具体来说,要用 os.path.join 这个函数。
这个函数会帮你处理路径中的分隔符,所以无论你用什么操作系统,它都能正确工作。

比如:

从 os 模块中导入 path
my_path = path.join('Users', 'Luke', 'Dropbox', 'Programming', 'numbers.txt')

想了解更多信息,可以查看:
http://docs.python.org/2/library/os.path.html

1

你漏掉了第一个 '/'

/Users/Luke/Dropbox/Programming/numbers.txt

撰写回答