2017-06-22 33 views
0

當我嘗試在下面的代碼中使用listdir()和getcwd()(作爲替代方法進行測試)時,我總是收到語法錯誤。目前我對python比較陌生,所以我所做的一些錯誤對我來說並不是很明顯。我可以使用一些幫助或見解來了解如何獲得此代碼的工作方式或我可以嘗試的選項。這是我的代碼。我不知道如何匹配stackoverflow中的間距,所以它不會像在實際代碼中那樣。在python 2.7中使用listdir()和getcwd()會導致無效的語法錯誤

import csv 

import sys 

import os 

import pandas as pd 

from os import getcwd 


print getcwd() 
cvsRows = [] 

#removeCsvHeader.py header file for removing the top row of the csv file 
#Loops through every file in the cwd 

os.makedirs('headerRemoved', exist_ok=True) 

for C:\\Users\\name\\Documents\\PCAN-Explorer 5\\Symbols\\Trace9.csv in os.getcwd('.'): 
    if not C:\\Users\\name\\Documents\\PCAN-Explorer 5\\Symbols\\Trace9.csv.endswith('.csv') 
     continue      #   continue #skip non-csv files 
    print "'Removing header from ' + C:\\Users\\epenchansky\\Documents\\PCAN-Explorer 5\\Symbols\\Trace9.csv + '...'" 

回答

0

接近尾聲時,您會看到幾個不包含在引號中的長路徑名。無論如何,無論如何,假設您試圖循環訪問磁盤上實際存在的任何文件,無論如何,無論如何,文字路徑名都沒有任何意義。我想你想是這樣的:

for filename in os.listdir('.'): 
    if not filename.endswith('.csv') 
     continue      #skip non-csv files 
    print "'Removing header from ' + filename + '...'" 

PS:os.getcwd()是不是在爲os.listdir()所有的替代品 - 它可以讓你的當前目錄的名稱,而不是它的內容。

+0

謝謝傑森。我會嘗試一下。 –