我正在使用 csv 文件来存储我的程序所需的大量变量。我使用 os.path 来定义两个文件的相对路径,并将这些路径发送到一个名为 get_csv_args 的函数,该函数打开 csv 并解析信息。第一个路径可以正常打开,但第二个路径会导致错误,因为路径中的反斜杠都被加倍了。我尝试使用 os.path.normpath 但没有帮助。
主功能
import os
from misc.get_csv_args import get_csv_args
def main():
server=os.path.abspath('..\..\server_info.csv')
archive=os.path.abspath('.\CreateDelete_archive_info.csv')
print server
print archive
print str(get_csv_args(server))
print str(get_csv_args(os.path.normpath(archive)))
if __name__ == '__main__':
main()
get_csv_args
import csv, os.path
def get_csv_args(filename):
read_args = csv.reader(open(os.path.normpath(filename), 'rb'))
args = []
for row in read_args:
args = args + row[:2] #Add the first two items in each row to the args list
args = filter(lambda name: name.strip(), args) #Remove whitespace entries from the list
return args
主输出
C:\Users\blahblahblah\src\server_info.csv
C:\Users\blahblahblah\src\test_cases\archive\CreateDelete_archive_info.csv
['server', 'server_name', 'UID', 'user', 'PWD', 'password']
回溯(最近一次通话最后):
等等等等等等
IOError:[Errno 2] 没有这样的文件或目录:'C:\\Users\\blahblahblah\\src\\test_cases\\archive\\CreateDelete_archive_info.csv'