Python - сортировка Bubble из внешнего текстового файла

Я разработал простой алгоритм 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: /») и т. Д.

1
что вы не разбираете свой файл «numbers.txt». вам лучше разобрать их в список с помощью int s: is ',' больше, чем '1' ?
добавлено автор thkang, источник
Похож на путь Os X, правильно?
добавлено автор xvorsx, источник

5 ответы

You missed first '/' /Users/Luke/Dropbox/Programming/numbers.txt

1
добавлено
Я исправил это и получил ту же ошибку. Добавлю, что я попытался открыть текстовый файл в Linux, и он сработал. Есть ли специальный протокол для открытия текстовых файлов под окнами?
добавлено автор Luke Turner, источник

Чтобы получить абсолютный путь к файлу:

  • перейдите в файл, ctrl + щелкните правой кнопкой мыши , а затем выберите «Копировать как путь», из меню.

  • Или откройте свойства файлов и получите их имя папки, а затем вы может объединить свое имя вместе для полного пути.

  • Или вы можете создать ярлык, а затем посмотреть на свойства ярлык, чтобы увидеть целевое местоположение.

  • Или вы можете перетащить файл в открытую консоль и посмотреть, что показывает путь вверх.

Другими словами, это не должно быть проблемой для определения ...

To deal with this in your program in case it is open to input, check os.path.exists(path)

0
добавлено

Вам, вероятно, нужно что-то вроде:

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

Или

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

Помните, что '\' - это escape-символ в Python.

0
добавлено

Вам нужны обратные косые черты вместо прямых косых черт:

file = open ('C: \\ Users \\ Luke \\ Dropbox \\ Программирование \\ numbers.txt', 'r')

И так как обратная косая черта - это escape-символ, вам нужно добавить два из них (первый из них выходит за второй)

0
добавлено
Windows также может читать косые черты, и это облегчает глаза ... проверяйте это самостоятельно.
добавлено автор Inbar Rose, источник
@InbarRose, я этого не понимал. Имеет смысл для переносимости. Благодарю.
добавлено автор jimhark, источник

Вы должны использовать os.path Конкретно: os.path.join Эта функция обрабатывает ограничители маршрута для вас, поэтому она всегда будет правильно независима от 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

0
добавлено
Python
Python
7 654 участник(ов)

Уютный чат для профессионалов, занимающихся поиском питоньих мудростей. Как не получить бан: https://t.me/ru_python/577926

Python beginners
Python beginners
4 449 участник(ов)

Вопросы про Python для чайников. Cпам и троллинг неприемлем. Не злоупотребляйте стикерами. Частозадаваемые вопросы: https://github.com/ru-python-beginners/faq/blob/master/README.md Статистика тут: https://grstats.me/chat/x4qym2k5uvfkr3al6at7

pro.python
pro.python
1 090 участник(ов)

Сообщество разработчиков под Python Создатель: @rodgelius

Rude Python
Rude Python
971 участник(ов)

Python без „девочек”, здесь матерятся и унижают Django. Not gay friendly. Правила: t.me/rudepython/114107 @rudepython | t.me/rudepython

rupython
rupython
509 участник(ов)

Группа создана с целью оперативного получения ответов на возникающие вопросы по разработке на яп python, смежные темы, а также человеческого общения. Приветствую!

Python-programming
Python-programming
266 участник(ов)

Чат группы вконтакте https://vk.com/python_community