2014-02-19 5 views
-2

Ответ Был решенОткрытие «.txt» файлов в Python

The problem was not listing the entire file listing (i.e. DRIVE1\DRIVE2\...\fileName.txt). 
Also, note that the backslashes must be turned into forwardslashes in order for 
Python to read it (backslashes are outside of the unicode listing). 
Thus, using: addy = 'C:/Users/Tanner/Desktop/Python/newfile.txt' 
     returns the desired results. 

Это было некоторое время, так как я играл с Python, и для моего последнего класса, мы должны сделать BFS поиск, который делает Word Puzzle что Алиса в стране чудес автор создал. Я просто заявляю об этом, поскольку алгоритм - это домашнее задание, которое я выполнил. Другими словами, мой вопрос не относится к ответу на мой вопрос о домашнем задании.

С этой целью мне нужна помощь в том, как открывать, редактировать, читать, создавать текстовые файлы в Python. Моя реальная проблема состоит в том, чтобы поместить список слов, которые у меня есть внутри .txt-файла, в словарь . но я бы скорее сделал это сам. Таким образом, я остаюсь с тем, как сделать это в текстовых файлах.

ПРИМЕЧАНИЕ:

I am running v3.3. 
All documentation that I have found while searching how to solve this simple problem 
     is in regards to 2.7 or older. 

Я пытался использовать:

>>> import sys from argv 
>>> script, filename = argv 
    Traceback (most recent call last): 
    File "<pyshell#15>", line 1, in <module> 
     script, filename = argv 
    ValueError: need more than 1 value to unpack 

Я также пытался использовать:

>>> f = open(newfile.txt, 'r') 

Но опять же, я получаю эту ошибку:

File "<pyshell#8>", line 1, in <module> 
     f = open (filename, 'r') 
FileNotFoundError: [Errno 2] No such file or directory: 'newfile.txt' 

Однако я уверен, что этот файл существует. Все это сказано, я не уверен, что это проблема с каталогом, проблема с пониманием или что-то ... То есть, что-нибудь поможет!

+0

Используйте цитаты для имени файла. –

+0

и 'from sys import argv' – mhlester

+0

Aslo, @Eric Fortin, такая же точная ошибка, как и последняя в моем OP, при попытке сделать это именно так. –

ответ

2

Во-первых, если вы хотите получить имя файла, который передается в качестве первого аргумента вашего скрипта, используйте такой код:

import sys 
if len(sys.argv) > 2: 
    filename = sys.argv[1] 
else: 
    # set a default filename or print an error 

Во-вторых, ошибка явно указывает на то, что сценарий не может найти файл newfile.txt. Так это или нет в текущем каталоге, вы не имеете прав на чтение его, и т.д ...

+0

проверить встроенные библиотеки python argsparse (или getopt или optparse), если вы хотите использовать функцию аргумента командной строки. –

+0

Я думаю, что OP должен заранее получить основы ... – isedev

+0

да .. вы правы. –

0

Чтобы открыть файл для чтения, использовать с помощью команды следующего

# This is python 3 code 
with open('yourfile.txt', 'r') as f: 
    for line in f: 
     print(line) 

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

Смежные вопросы