Ошибка типа: неверный файл: при попытке сделать имя файла переменной - PullRequest
2 голосов
/ 03 марта 2012

Привет. Я пытаюсь представить местоположение файла как переменную, поскольку окончательный сценарий будет запущен на другом компьютере. Это код, который я пробовал, за которым следует ошибка, которую я получаю. Мне кажется, что некоторые, как Python добавляет "\", и это вызывает проблему. Если это так, как мне заставить его не вставлять "\"? Спасибо

F = 'C:\Documents and Settings\myfile.txt','r'
f = open(F)

и ошибка

TypeError: invalid file: ('C:\\Documents and Settings\\myfile.txt', 'r')

Ответы [ 3 ]

5 голосов
/ 03 марта 2012

Из документов:

Попробуйте:

F = r'C:\Documents and Settings\myfile.txt'
f = open(F, 'r')

О "двойных обратных косых чертах" - вам нужноизбегайте обратной косой черты в ваших строках или используйте r'string', посмотрите это:

Например попробуйте это:

>>> a = 'a\nb'
>>> print a
a
b

Чтобы получитьчто вы ожидаете, вам нужно это:

>>> a = r'a\nb'
>>> print a
a\nb

или это:

>>> a = 'a\\nb'
>>> print a
a\nb
3 голосов
/ 03 марта 2012

Попробуйте

f=open('C:\Documents and Settings\myfile.txt','r')

Вместо того, чтобы использовать переменную F., как у вас есть 'r' является частью имени файла, а это не так.

1 голос
/ 10 мая 2017

Вместо написания / или \, вы должны сделать это:

import os
F = os.path.join(
    "C:",
    os.path.join(
        "Documents and Settings", myfile.txt
    )
)
f = open(f, 'r')`

, чтобы он использовал / или \ в соответствии с вашей ОС.

(хотя, если вы напишите C:/, это должно означать, что вы хотите запустить свой код в Windows ... Хм ...)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...