Python在不同的本地驱动器位置读取文件

时间:2014-02-14 04:01:04

标签: python

有人可以在Python中找到文件路径上的一些亮点吗?

例如我的代码需要读取一批文件,文件名列出并存储在.txt文件C:\ filelist.txt中,其内容为:

C:\1stfile.txt
C:\2ndfile.txt
C:\3rdfile.txt
C:\4thfile.txt
C:\5thfile.txt

代码以:

开头
list_open = open('c:\\aaa.txt')
read_list = list_open.read()
line_in_list = read_list.split('\n')
一切都运行正常。但是如果我想读取另一条路径中的文件,例如:

C:\WorkingFolder\6thfile.txt
C:\WorkingFolder\7thfile.txt
C:\WorkingFolder\8thfile.txt
C:\WorkingFolder\9thfile.txt
C:\WorkingFolder\10thfile.txt

它不起作用。我猜这里的路径C:\ WorkingFolder \没有正确放置,所以Python无法识别它。

那么我会用什么方式呢?感谢。




你好,

抱歉,也许我没有清楚自己。

问题是,文本文件c:\ aaa.txt包含以下内容:

C:\1stfile.txt
C:\WorkingFolder\1stfile.txt

为什么只有C:\ 1stfile.txt是可读的,而另一个不是?

3 个答案:

答案 0 :(得分:2)

您的程序无法正常工作的原因是您没有正确更改目录。使用os.chdir()执行此操作,然后正常打开文件:

import os

path = "C:\\WorkingFolder\\"

# Check current working directory.
retval = os.getcwd()

print "Current working directory %s" % retval

# Now change the directory
os.chdir( path )

# Check current working directory.
retval = os.getcwd()

print "Directory changed successfully %s" % retval

参考文献: http://www.tutorialspoint.com/python/os_chdir.htm

答案 1 :(得分:2)

import os

BASEDIR = "c:\\WorkingFolder"

list_open = open(os.path.join(BASEDIR, 'aaa.txt'))

答案 2 :(得分:1)

只需尝试使用正斜杠。

list_open = open("C:/WorkingFolder/6thfile.txt", "rt")

它对我有用。