我最近注意到了
os.listdir('http://chymera.eu/data/faceRT')
抱怨找不到我的目录。
如何才能在远程位置运行os.listdir()?我已经检查过,这不是权限问题,我可以通过浏览器打开文件夹,我的webftp客户端说它是755。
无论我做什么,我都 NOT 喜欢使用登录信息。我在设置目录权限时做出了关于共享的决定。如果我为每个人说r + x那么我希望这对每个人来说意味着r + x。
答案 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