-2

我最近注意到

os.listdir('http://chymera.eu/data/faceRT')

抱怨找不到我的目录。

我该怎么做才能在远程位置运行 os.listdir()?我已经检查过,这不是权限问题,我可以通过浏览器打开文件夹,我的 webftp 客户端说它是 755。

无论我做什么,我都不想使用登录信息。我在设置目录权限时做出了关于共享的决定。如果我说 r+x 代表每个人,那么我希望这意味着 r+x 代表每个人。

4

2 回答 2

3

os.listdir期望参数是文件系统上的路径。它不会尝试理解 URL

您可以使用urllib请求页面并对其进行解析以查找 URL

于 2013-10-25T02:00:29.393 回答
1

好的,所以我通过使用 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
于 2013-11-07T05:23:03.350 回答