我有一个充满文件路径的csv表。如果文件存在,我想检查每一行。
import csv
import os.path
import ntpath
import shutil
with open('C:\Test.csv', newline='') as csvfile:
spamreader = csv.reader(csvfile)
for row in spamreader:
print(', '.join(row))
if os.path.exists(str(row)):
print("Copy...")
表的行示例:c:\ test \ notfound.xlsx
我不明白为什么我的代码不起作用?当我使用修复路径设置行时,它工作得很好! row =“c:/test/notfound.xlsx”
答案 0 :(得分:0)
这一行的问题是
c:\test\notfound.xlsx
\ n是python中的转义字符。 你需要逃避你的' \'同样。
我已经在我的系统上对此进行了测试
os.path.exists('C:\newfile.txt)
False
os.path.exists('C:\\newfile.txt)
True
答案 1 :(得分:0)
在您的代码中使用了
if os.path.exists(str(row)):
应该是:
if os.path.exists(', '.join(row)):
因为行变量是List格式并且使用str()来转换它只是将它转换为字符串而不删除括号