有没有办法在Python中访问在线SVN中的文件?
我做了一个Python模块文件,并把它上传到了SVN仓库(比如叫string_utl.py,主要用来处理字符串相关的操作)。我想知道有没有办法直接从SVN访问这个文件。虽然我可以把文件从SVN检出到我的电脑上,然后从那里访问,但这不是我想要的。我希望有一个本地的仓库,所有同事都可以访问和修改代码。
我想把SVN的位置添加到sys.path列表里,但没成功。
我这样做的:
sys.path.append("http://lsvn/svn/lsvn/QRM_Helper/Helpful_Script/");
但没有成功。
我试过另一种方法,像这样:
urllib.urlopen(some_url)
因为我在用Python 3,所以它提示我用urllib2.urlopen(),但在我的情况下也没成功。它给了我一个错误,提示模块不存在。
4 个回答
我刚刚找到了答案。我会用Pysvn把代码库下载到本地文件夹里。然后我会把这个文件夹添加到sys.path列表中。这样一来,我就可以访问这个文件夹里的模块了。感谢大家的帮助!
不过我遇到了一点小问题……我在办公室的电脑上没有管理员权限(我用的是Windows),所以我在我的笔记本电脑上安装了pysvn,然后把库文件从笔记本电脑复制到了办公室的电脑上。虽然我可以在办公室的电脑上使用pysvn,但每次我访问Pysvn时,Python都会莫名其妙地崩溃。是不是复制粘贴导致的问题呢?
如果你在用python3,处理网址的代码是urllib.request.urlopen
(顺便说一下,不应该用urllib2.urlopen
)。sys.path.append
只能添加本地系统的路径,不能添加网址。你可以把模块下载到本地系统,然后指向那个路径。pysvn似乎是一个可以用python来进行svn操作的工具,但即使你下载了代码,还是需要通过本地文件系统的路径来引用代码,并把它添加到sys.path中。
只需要安装一下 pysvn模块,然后就可以像平常一样使用SVN进行检出、更新、提交等操作。
你不能直接访问SVN的后台数据存储,所以请不要尝试这样做。