我最近注意到
os.listdir('http://chymera.eu/data/faceRT')
抱怨找不到我的目录。
我该怎么做才能在远程位置运行 os.listdir()?我已经检查过,这不是权限问题,我可以通过浏览器打开文件夹,我的 webftp 客户端说它是 755。
无论我做什么,我都不想使用登录信息。我在设置目录权限时做出了关于共享的决定。如果我说 r+x 代表每个人,那么我希望这意味着 r+x 代表每个人。
我最近注意到
os.listdir('http://chymera.eu/data/faceRT')
抱怨找不到我的目录。
我该怎么做才能在远程位置运行 os.listdir()?我已经检查过,这不是权限问题,我可以通过浏览器打开文件夹,我的 webftp 客户端说它是 755。
无论我做什么,我都不想使用登录信息。我在设置目录权限时做出了关于共享的决定。如果我说 r+x 代表每个人,那么我希望这意味着 r+x 代表每个人。
os.listdir
期望参数是文件系统上的路径。它不会尝试理解 URL
您可以使用urllib
请求页面并对其进行解析以查找 URL
好的,所以我通过使用 HTMLparser 解析我的网络索引来解决这个问题:
if source == 'server':
from HTMLParser import HTMLParser
import urllib
class ChrParser(HTMLParser):
def handle_starttag(self, tag, attrs):
if tag =='a':
for key, value in attrs:
if key == 'href' and value.endswith('.csv'):
pre_fileslist.append(value)
results_dir = 'http://chymera.eu/data/faceRT'
data_url = urllib.urlopen(results_dir).read()
parser = ChrParser()
pre_fileslist = []
parser.feed(data_url) # pre_fileslist gets populated here