使用Python以读取模式打开文件
我正在尝试使用Python以读取模式打开文件。我收到的错误表明我正在使用WIN文件名或读取模式。当我把文件路径输入计算机时,它就工作了。我尝试将输入文件名分配给一个变量,然后以读取模式打开该变量。我还尝试键入完整路径并以读取模式打开路径。两人都给了我一个错误 代码: 我的结果: 使用完整路径输出: 工作目录是什么?C:\Users\tpmorris\ProgrammingAndScripting\Trial 2 Data\Trial 2 Data 输入文件名为?NCSIDS_ObsExp.txt C:\Users\tpmorris\programmingandscripting\试用2数据\试用2数据\NCSIDS\u ObsExp.txt IOError:[Errno 22]无效的模式('r')或文件名:“C:\Users\tpmorris\ProgrammingAndScripting\Trial 2 Data\Trial 2 Data\NCSIDS\u ObsExp.txt” 使用变量输出:使用Python以读取模式打开文件,python,python-2.7,Python,Python 2.7,我正在尝试使用Python以读取模式打开文件。我收到的错误表明我正在使用WIN文件名或读取模式。当我把文件路径输入计算机时,它就工作了。我尝试将输入文件名分配给一个变量,然后以读取模式打开该变量。我还尝试键入完整路径并以读取模式打开路径。两人都给了我一个错误 代码: 我的结果: 使用完整路径输出: 工作目录是什么?C:\Users\tpmorris\ProgrammingAndScripting\Trial 2 Data\Trial 2 Data 输入文件名为?NCSIDS_ObsExp.txt
IOError:[Errno 2]在Windows上没有这样的文件或目录:'full_original'必须转义路径,因为Windows使用反斜杠
\
表示路径分隔符
但是反斜杠通常用作转义序列,在Python中也同样使用!所以你必须像这样“逃离”他们:
f = open ('C:\\Users\\tpmorris\\ProgramingAndScripting\\Trial 2 Data\\Trial 2 Data\\NCSIDS_ObsExp.txt','r')
见:
import os
workingDirec = raw_input("What is the working directory?")
original_file = raw_input("The input filename is?")
full_original = os.path.join(workingDirec,original_file)
print full_original
with open(full_original,'r') as f:
for line in f:
print line
f.close()
我删除了函数的def,以便在文件读取代码的过程中执行其他操作。def应该放在其他地方。我认为您需要避开斜杠。open()
函数将默认为读取模式,因此不需要明确说明。
import os
workingDirec = raw_input("What is the working directory?")
original_file = raw_input("The input filename is?")
full_original = os.path.join(workingDirec,original_file)
print full_original
with open(full_original,'r') as f:
for line in f:
print line
f.close()