为什么我得到这个 IOerror13 ?使用 python
Why do I get this IOerror13 ? Using python
import sys
import os
import re
import ftplib
os.system('dir /S "D:\LifeFrame\*.jpg" > "D:\Python\placestogo.txt"') #this is where to search.
dat = open('placestogo.txt','r').read()
drives = re.findall(r'.\:\.+.+',dat)
for i in range(len(drives)):
path = drives[i]
os.system('dir '+ path +'\*.jpg > D:\python\picplace.txt')
picplace = open('picplace.txt','r').read()
pics = re.findall(r'\w+_\w+.\w+..jpg|IMG.+|\w+.jpg',picplace)
for i in range(len(pics)):
filename = pics[i]
ftp = ftplib.FTP("localhost")
print ftp.login("xxxxxxxx","xxxxxxxx")
ftp.cwd("/folder")
myfile = open(path,"rb")
print ftp.storlines('STOR ' + filename, myfile)
print ftp.quit()
sys.exit()
我正在尝试将所有这些文件复制到我的 ftp 服务器,但它给我这个错误:
d:\Python>stealerupload.py
230 Logged on
Traceback (most recent call last):
File "D:\Python\stealerupload.py", line 22, in <module>
myfile = open(path,"rb")
IOError: [Errno 22] invalid mode ('rb') or filename: '"D:\LifeFrame"'
谁知道问题出在哪里?我是 运行 管理员,文件夹应该有权限
在错误消息中,它显示 '"D:\LifeFrame"'
,在我看来你在 path
中有额外的引号。尝试添加 print path
以查看其值。
也许您想将数据从 filename
上传到您的服务器,而不是从 path
,在这种情况下,错误消息中显示的 Python 就是错误所在:您应该改为打开 filename
。
错误似乎很明显。您正在尝试打开一个目录路径,这既不可能也不是您真正想要做的。这个位:
for i in range(len(drives)):
path = drives[i]
...
for i in range(len(pics)):
...
myfile = open(path,"rb")
在循环中,您将 path
设置为 drives
元素之一。这些项目中的每一项似乎都是一个目录路径。然后你稍后尝试打开path
,这是目录路径而不是文件。
import sys
import os
import re
import ftplib
os.system('dir /S "D:\LifeFrame\*.jpg" > "D:\Python\placestogo.txt"') #this is where to search.
dat = open('placestogo.txt','r').read()
drives = re.findall(r'.\:\.+.+',dat)
for i in range(len(drives)):
path = drives[i]
os.system('dir '+ path +'\*.jpg > D:\python\picplace.txt')
picplace = open('picplace.txt','r').read()
pics = re.findall(r'\w+_\w+.\w+..jpg|IMG.+|\w+.jpg',picplace)
for i in range(len(pics)):
filename = pics[i]
ftp = ftplib.FTP("localhost")
print ftp.login("xxxxxxxx","xxxxxxxx")
ftp.cwd("/folder")
myfile = open(path,"rb")
print ftp.storlines('STOR ' + filename, myfile)
print ftp.quit()
sys.exit()
我正在尝试将所有这些文件复制到我的 ftp 服务器,但它给我这个错误:
d:\Python>stealerupload.py
230 Logged on
Traceback (most recent call last):
File "D:\Python\stealerupload.py", line 22, in <module>
myfile = open(path,"rb")
IOError: [Errno 22] invalid mode ('rb') or filename: '"D:\LifeFrame"'
谁知道问题出在哪里?我是 运行 管理员,文件夹应该有权限
在错误消息中,它显示 '"D:\LifeFrame"'
,在我看来你在 path
中有额外的引号。尝试添加 print path
以查看其值。
也许您想将数据从 filename
上传到您的服务器,而不是从 path
,在这种情况下,错误消息中显示的 Python 就是错误所在:您应该改为打开 filename
。
错误似乎很明显。您正在尝试打开一个目录路径,这既不可能也不是您真正想要做的。这个位:
for i in range(len(drives)):
path = drives[i]
...
for i in range(len(pics)):
...
myfile = open(path,"rb")
在循环中,您将 path
设置为 drives
元素之一。这些项目中的每一项似乎都是一个目录路径。然后你稍后尝试打开path
,这是目录路径而不是文件。