Вы не должны иметь f
в кавычках:
myfile = open(f, 'r')
'f'
означает строку, состоящую из буквы f, поэтому ваш код искал файл с именем f
и не нашелЭто.Вместо этого используйте f
, что означает значение переменной f.
Кроме того, не вызывайте переменную для хранения вашего файла file
.Это легко сделать, но постарайтесь избежать этого.Уже существует встроенный класс с именем file
, и лучше не скрывать какие-либо встроенные классы или функции с собственными именами.Это потому, что другой код, который вы увидите, будет ожидать, что file
будет представлять класс файла, а не вашу переменную.
Один из способов проверить, используется ли термин, - использовать функцию help
:
>>> help(file)
Help on class file in module __builtin__:
class file(object)
| file(name[, mode[, buffering]]) -> file object
|
| Open a file. The mode can be 'r', 'w' or 'a' for reading (default),
| writing or appending. The file will be created if it doesn't exist
И поскольку в Python значение индексации является существенным, я бы порекомендовал получить правильные отступы при публикации кода здесь.