用于远程位置的python os.listdir()

时间:2013-10-25 01:44:57

标签: python remote-access

我最近注意到了

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

抱怨找不到我的目录。

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

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

2 个答案:

答案 0 :(得分:3)

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

您可以使用urllib来请求网页并对其进行解析以查找网址

答案 1 :(得分: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