我试图使用以下python脚本执行一个简单的git命令.
#!/usr/bin/python
import commands
import subprocess
import os
import sys
pr = subprocess.Popen( "/usr/bin/git log" , cwd = os.path.dirname( '/ext/home/rakesh.kumar/workspace/myproject' ), shell = True, stdout = subprocess.PIPE, stderr = subprocess.PIPE )
(out, error) = pr.communicate()
print "Error : " + str(error)
print "out : " + str(out)
Run Code Online (Sandbox Code Playgroud)
但我收到以下错误,即使我在git reposetory所在的同一目录中运行python脚本.
Error : fatal: Not a git repository (or any of the parent directories): .git
Run Code Online (Sandbox Code Playgroud)
我怀疑git可能会被纠正,但git文件很好,如果我在正常的命令提示符下执行git命令.
我试图在网上搜索但无法获得有用的信息.请帮助它将不胜感激.
问题是你使用os.path.dirname():
os.path.dirname( '/ext/home/rakesh.kumar/workspace/myproject' )
Run Code Online (Sandbox Code Playgroud)
会给你:
>>> os.path.dirname( '/ext/home/rakesh.kumar/workspace/myproject' )
'/ext/home/rakesh.kumar/workspace'
Run Code Online (Sandbox Code Playgroud)
我打赌,这不是你想要的.
尝试这个:
#!/usr/bin/python
import commands
import subprocess
import os
import sys
pr = subprocess.Popen( "/usr/bin/git log" , cwd = os.path.dirname( '/ext/home/rakesh.kumar/workspace/myproject/' ), shell = True, stdout = subprocess.PIPE, stderr = subprocess.PIPE )
(out, error) = pr.communicate()
print "Error : " + str(error)
print "out : " + str(out)
Run Code Online (Sandbox Code Playgroud)
目录路径末尾应有“/”。
| 归档时间: |
|
| 查看次数: |
9885 次 |
| 最近记录: |