2016-10-12 1 views
-1

Итак, в разделе «Learn python the hard way», в упражнении 15, вы узнаете, как сделать программу открытой. Вот мой код, и я набрал python ex15.py ex15.txt в командной строке. У меня не было никаких других проблем с программой до сих пор:Python2.7: Почему python не читает ни один из моих путей с открытым (filename)?

from sys import argv 

script, filename = argv 

txt = open(ex15.txt) 

print "Here's your file: %r" % ex15.txt 
print txt.read() 

print "type the filename again: " 
again = raw_input("> ") 

again2 = open(again) 
print again2.read() 

и вот сообщение об ошибке:

Traceback (most recent call last): 
    File "ex15.py", line 5, in <module> 
    txt = open("ex15.txt") 

IOError: [Errno 2] No such file or directory: 'ex15.txt' 

я сразу подозревал, что проблема заключается в файл не был в нужном месте (ex15.txt) и поместите его в папку Python27 в Windows. Затем после некоторого интернет-исследования проблемы я попытался поместить его в рабочий каталог cmd, а также папку scripts в Python27, а также попытался включить полный путь к исходному расположению файла (Documents), и я всегда получаю такое же сообщение об ошибке.

Что я (или мой компьютер) отсутствует здесь? путь к скрипту: C:\Python27, каталог приглашения - C:\Users\Customer, и я уже указал все местоположения текстового файла, он все еще находится в каждой из этих папок. Программа python действительно включена в PATH.

+0

Поместите его в ту же папку, в которой у вас есть скрипт ... – Li357

+1

Исходный код, который вы опубликовали, не соответствует полученной вами ошибке (вы используйте 'ex15.txt' не' 'ex15.txt''). Вставьте точный исходный код с полным именем пути для исходного местоположения файла. Примечание. Используйте путь 'r '\ to \ file" 'не только' 'путь \ to \ file" 'см. Http://stackoverflow.com/questions/2081640/what-exactly-do-and-r-string -flags-do-in-python-and-what-are-raw-string-l –

+0

lol, я скопировал и вставил его, никаких изменений. И да, текстовый файл находится в той же папке, что и скрипт. – thinksinbinary

ответ

1

файл должен находиться в той же папке, вы работаете сценарий

Если вы работаете в C:/myscript.py, вы файл должен быть в C:/, а также.

Ex:

>> cd C: 
>> dir 
ex15.txt myscript.py 
>> python myscript.py ex15.txt 
Here's your file: 'ex15.txt' 
Something that is in your text file 

type the filename again: 
> ex15.txt 
Something that is in your text file 

Кроме того, ваш код, кажется неправильным. Вам нужно использовать «ex15.txt», а не ex15.txt без кавычек. В противном случае он будет интерпретироваться как переменная, а не как строка.

Смотрите код ниже:

from sys import argv 

script, filename = argv 

txt = open("ex15.txt") 

print "Here's your file: %r" % "ex15.txt" 
print txt.read() 

print "type the filename again: " 
again = raw_input("> ") 

again2 = open(again) 
print again2.read() 
+0

Что означает «работает на»? Если я нахожусь в 'C:/Users/Whatever', я могу выполнить' python C:/myscript.py', но файл не должен находиться на 'C: /'. Вам нужно уточнить, имеет ли значение текущий рабочий каталог или путь к скрипту. – tdelaney

+0

Нужно быть в том же пути, на котором вы запускаете скрипт – mk2

+0

Двойные кавычки и одинарные кавычки на ex15.txt потерпели неудачу, и я даже сейчас поместил код рядом с вашим, и я все равно получаю ту же ошибку. – thinksinbinary

0

вы читаете Learn Python трудный путь, по Zed Shaw.Don't положить его в качестве TXT = открыт (ex15.txt) вместо использования: txt = open (имя файла). Вы работаете с переменными аргументов, и они похожи на raw_input и должны меняться.

+0

Отступьте код, пожалуйста –

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