TypeError:无效文件:尝试将文件名设为变量时

时间:2012-03-02 23:58:15

标签: file python-3.x

您好我正在尝试将文件位置表示为变量,因为最终脚本将在另一台计算机上运行。这是我试过的代码,然后是我得到的错误。在我看来,一些python如何添加“\”,这是导致问题。如果是这种情况,我如何让它不插入“\”?谢谢

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

和错误

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

3 个答案:

答案 0 :(得分:5)

来自文档:

试试这个:

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

关于“双反斜杠” - 您需要在字符串中转义反斜杠或使用r'string',请参阅:

E.g。试试这个:

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

为了得到你所期望的,你需要这个:

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

或者这个:

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

答案 1 :(得分:3)

尝试

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

而不是使用变量F.你拥有它的方式'r'是文件名的一部分,它不是。

答案 2 :(得分:1)

您应该这样做,而不是撰写/\

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

根据您的操作系统使用/\

(虽然如果你写C:/,它必须意味着你想在Windows上运行你的代码......哼......)