10 More Discussions You Might Find Interesting
1. Programming
So I have this basic script, see below
import subprocess
import shlex
command = "gcloud projects list"
subprocess.check_output(shlex.split(command))
subprocess.check_call(shlex.split(command))
The subprocess.check_call(shlex.split(command)) actually return what I expect. It returns... (6 Replies)
Discussion started by: scj2012
6 Replies
2. Programming
I am using python 3.4. Below is the exception I am getting-
Traceback (most recent call last):
File "./oop.py", line 20, in <module>
y = DerivedClass("Manu")
File "./oop.py", line 15, in __init__
super().__init__(self,value)
TypeError: __init__() takes 2 positional arguments but... (2 Replies)
Discussion started by: Tanu
2 Replies
3. Shell Programming and Scripting
Here is my test code
process = sp.Popen( + ,
bufsize=1,
universal_newlines=True,
stdout=sp.PIPE, stderr=sp.STDOUT,
cwd=src_home)
output, _ =... (2 Replies)
Discussion started by: ezee
2 Replies
4. Shell Programming and Scripting
All,
I have a basic buzz program written in python with return function. If i change return with print,it works fine but i want to know whats wrong with return statement.Can anyone help me whats wrong with this
#!/usr/bin/python
def div4and6(s,e):
for i in range(s,e+1):
if... (5 Replies)
Discussion started by: oky
5 Replies
5. Shell Programming and Scripting
Hi guys,
I'm learning python and perl and i was trying to run from python a perl script using the subprocess module.
I have an issue that i don't understand regarding this.
I run this code:
#!/usr/bin/python
import subprocess
p2 = subprocess.Popen(,stdout=subprocess.PIPE)
output2 =... (2 Replies)
Discussion started by: capitanui
2 Replies
6. Shell Programming and Scripting
Hi,
I am trying to run a shell script using subprocess in python.
I can run simple script with arguments using subprocess.But I am not able to embed xterm in subrocess command.
#!/usr/bin/python
import subprocess
subprocess.call()
Above code gives me error.
Please help me in... (2 Replies)
Discussion started by: diehard
2 Replies
7. Shell Programming and Scripting
I need to run this command using python subprocess module (notice I'm using only variables):
cmd = TESTPATH + ' -s ' + serviceName + ' -r ' + rdir + \
' -m ' + masterAcct + ' -p ' + persona + ' -P ' + passwd (3 Replies)
Discussion started by: erick_tuk
3 Replies
8. AIX
Hi Guys,
Just a question about subprocesses.. Lately one of our servers has started to throw out the following error:
SYSTEM ERROR: Too many subprocesses, cannot fork. Errno=12
We've already increased the threshold twice. Its now up to 8000 and the swap space has also been increased. We... (6 Replies)
Discussion started by: Jazmania
6 Replies
9. Shell Programming and Scripting
Hi,
I am having a trivial doubt. Please see the below pipeline code sequence.
command1 | (command 2; commend 3)
I am aware that the command that follows pipe will run in the sub shell by the Unix kernel. But how about here? Since these set of commands are grouped under "parantheses", will... (6 Replies)
Discussion started by: royalibrahim
6 Replies
10. Shell Programming and Scripting
Hello I'm writing a web server in python(obelisk-http.sourceforge.net)
and I'm having a greeat problem with POST method it like that
When someone make a POST request to the server it must open the executable(perl/python/.exe/elf) and send to the STANDART in (stdin) the request and get the... (2 Replies)
Discussion started by: sendai
2 Replies
dpm_python(3) Python Reference dpm_python(3)
NAME
dpm - Python interface to the DPM
SYNOPSIS
import dpm
DESCRIPTION
The dpm module permits you to access the DPM client interface from python programs. The dpm module is a swig wrapping of the standard C
interface. For detailed descriptions of each function see the individual man page of each function.
There follows a series of examples of how to use selected functions and how to retrieve the information returned by them: Examples are
listing the replicas of a given entry, reading the content of a directory, getting and setting ACLs. etc.
EXAMPLE
#!/usr/bin/python
"""
# Using the dpns_readdirxr method
"""
import sys
import dpm
name = "/dpm/cern.ch/home/dteam/";
dir = dpm.dpns_opendirg(name,"")
if (dir == None) or (dir == 0):
err_num = dpm.cvar.serrno
err_string = dpm.sstrerror(err_num)
print "Error while looking for " + name + ": Error " + str(err_num)
+ " (" + err_string + ")"
sys.exit(1)
while 1:
read_pt = dpm.dpns_readdirxr(dir,"")
if (read_pt == None) or (read_pt == 0):
break
entry, list = read_pt
print entry.d_name
try:
for i in range(len(list)):
print " ==> %s" % list[i].sfn
except TypeError, x:
print " ==> None"
dpm.dpns_closedir(dir)
EXAMPLE
#!/usr/bin/python
import dpm
"""
# Using the dpns_getlinks method
"""
result, list = dpm.dpns_getlinks("/dpm/cern.ch/home/dteam/file.test", "")
print result
print len(list)
if (result == 0):
for i in list:
print i.path
EXAMPLE
#!/usr/bin/python
import dpm
"""
# Using the dpns_getreplica method
"""
result, list = dpm.dpns_getreplica("/dpm/cern.ch/home/dteam/file.test", "", "")
print result
print len(list)
if (result == 0):
for i in list:
print i.host
print i.sfn
EXAMPLE
#!/usr/bin/python
import dpm
"""
# Using the dpns_getacl and dpns_setacl methods to add a user ACL
"""
nentries, acls_list = dpm.dpns_getacl("/dpm/cern.ch/home/dteam/file.test",
dpm.CA_MAXACLENTRIES)
print nentries
print len(acls_list)
for i in acls_list:
print i.a_type
print i.a_id
print i.a_perm
# When adding a first ACL for a given user, you also need to add the mask
# When adding the second user ACL, it is not necessary anymore
acl_user = dpm.dpns_acl()
acl_mask = dpm.dpns_acl()
acl_user.a_type=2 # 2 corresponds to CNS_ACL_USER
acl_user.a_id=18701 # user id
acl_user.a_perm=5
acl_mask.a_type=5 # 5 corresponds to CNS_ACL_MASK
acl_mask.a_id=0 # no user id specified
acl_mask.a_perm=5
acls_list.append(acl_user)
acls_list.append(acl_mask)
res = dpm.dpns_setacl("/dpm/cern.ch/home/dteam/file.test", acls_list)
if res == 0:
print "OK"
else:
err_num = dpm.cvar.serrno
err_string = dpm.sstrerror(err_num)
print "There was an error : Error " + str(err_num) + " (" + err_string + ")"
sys.exit(1)
EXAMPLE
#!/usr/bin/python
import dpm
"""
# Using the dpns_getacl and dpns_setacl methods to remove a user ACL
"""
nentries, acls_list = dpm.dpns_getacl("/dpm/cern.ch/home/dteam/file.test",
dpm.CA_MAXACLENTRIES)
# Note : you cannot remove the owner ACL (i.e. for CNS_ACL_USER_OBJ type) if
# ====== ACLs for other users exist. If all the other user ACLs are deleted,
# ====== the owner ACL is automatically removed.
for i in acls_list:
print i.a_type
print i.a_id
print i.a_perm
del acls_list[1] # delete a given user ACL from the list of ACLs
res = dpm.dpns_setacl("/dpm/cern.ch/home/dteam/file.test", acls_list)
if res == 0:
print "OK"
else:
err_num = dpm.cvar.serrno
err_string = dpm.sstrerror(err_num)
print "There was an error : Error " + str(err_num) + " (" + err_string + ")"
sys.exit(1)
EXAMPLE
#!/usr/bin/python
import dpm
"""
# Using the dpns_getusrmap method
"""
result, list = dpm.dpns_getusrmap()
print result
print len(list)
if (result == 0):
for i in list:
print i.userid + " " + i.username
EXAMPLE
#!/usr/bin/python
import dpm
"""
# Using the dpns_getgrpmap method
"""
result, list = dpm.dpns_getgrpmap()
print result
print len(list)
if (result == 0):
for i in list:
print i.gid + " " + i.groupname
EXAMPLE
#!/usr/bin/python
import dpm
"""
# Using the dpm_addfs method
"""
result = dpm.dpm_addfs("mypool", "mydiskserver.domain.com", "/mountpoint",
dpm.FS_READONLY)
print result
EXAMPLE
#!/usr/bin/python
import dpm
"""
# Using the dpm_modifyfs method
"""
result = dpm.dpm_modifyfs("mydiskserver.domain.com", "/mountpoint",
dpm.FS_READONLY)
print result
EXAMPLE
#!/usr/bin/python
import dpm
"""
# Using the dpm_rmfs method
"""
result = dpm.dpm_rmfs("mypool", "mydiskserver.domain.com", "/mountpoint")
print result
EXAMPLE
#!/usr/bin/python
import dpm
"""
# Using the dpm_addpool method
"""
dpmpool = dpm.dpm_pool()
dpmpool.poolname = "mypool"
dpmpool.defsize = 209715200
dpmpool.def_lifetime = 604800
dpmpool.defpintime = 604800
dpmpool.max_lifetime = 604800
dpmpool.max_pintime = 604800
dpmpool.nbgids = 1
dpmpool.gids = [0]
dpmpool.ret_policy = 'R'
dpmpool.s_type = 'D'
result = dpm.dpm_addpool(dpmpool)
print result
EXAMPLE
#!/usr/bin/python
import dpm
"""
# Using the dpm_modifypool method
"""
dpmpool = dpm.dpm_pool()
dpmpool.poolname = "mypool"
dpmpool.defsize = 209715200
dpmpool.def_lifetime = 604800
dpmpool.defpintime = 604800
dpmpool.max_lifetime = 604800
dpmpool.max_pintime = 604800
dpmpool.nbgids = 1
dpmpool.gids = [0]
dpmpool.ret_policy = 'R'
dpmpool.s_type = 'D'
result = dpm.dpm_modifypool(dpmpool)
print result
EXAMPLE
#!/usr/bin/python
import dpm
"""
# Using the dpm_rmpool method
"""
result = dpm.dpm_rmpool("mypool")
print result
EXAMPLE
#!/usr/bin/python
import dpm
"""
# Using the dpm_getpoolfs method
"""
result,list = dpm.dpm_getpoolfs("mypool")
print result
print len(list)
if (result == 0):
for i in list:
print "POOL " + i.poolname + " SERVER " + i.server + " FS " + i.fs
+ " CAPACITY " + i.capacity + " FREE " + i.free
EXAMPLE
#!/usr/bin/python
import dpm
"""
# Using the dpm_getpools method
"""
result,list = dpm.dpm_getpools()
print result
print len(list)
if (result == 0):
for i in list:
print "POOL " + i.poolname + " CAPACITY " + i.capacity + " FREE " + i.free
EXAMPLE
#!/usr/bin/python
import dpm
"""
# Using the dpm_getprotocols method
"""
result,list = dpm.dpm_getprotocols()
print result
print len(list)
if (result == 0):
for i in list:
print i
EXAMPLE
#!/usr/bin/python
import dpm
"""
# Using the dpm_getspacemd method
"""
result, list = dpm.dpm_getspacemd(["myspacetoken"])
print result
print len(list)
if (result == 0):
for i in list:
print "TYPE " + i.s_type + " SPACETOKEN " i.s_token + " USERTOKEN "
+ i.u_token + " TOTAL " + i.t_space + " GUARANTUEED " + i.g_space
+ " UNUSED " + i.u_space + " POOL " + i.poolname
EXAMPLE
#!/usr/bin/python
import dpm
"""
# Using the dpm_getspacetoken method
"""
result, list = dpm.dpm_getspacetoken("myspacetokendesc")
print result
print len(list)
if (result == 0):
for i in list:
print i
EXAMPLE
#!/usr/bin/python
import dpm
"""
# Using the dpm_reservespace method
"""
result,actual_s_type,actual_t_space,actual_g_space,actual_lifetime,s_token =
dpm.dpm_reservespace('D', "myspacetokendesc", 'R', 'O', 209715200,
209715200, 2592000, 0, "mypoolname")
print result
if (result == 0):
print "TYPE " + actual_s_type + " TOTAL " + actual_t_space + " GUARANTEED "
+ actual_g_space + " LIFETIME " + actual_lifetime + " TOKEN " + s_token
EXAMPLE
#!/usr/bin/python
import dpm
"""
# Using the dpm_updatespace method
"""
result,actual_t_space,actual_g_space,actual_lifetime =
dpm.dpm_updatespace("myspacetoken", 209715200, 209715200, 2592000)
print result
if (result == 0):
print " TOTAL " + actual_t_space + " GUARANTEED " + actual_g_space
+ " LIFETIME " + actual_lifetime
EXAMPLE
#!/usr/bin/python
import dpm
"""
# Using the dpm_releasespace method
"""
result = dpm.dpm_releasespace("myspacetoken", 0)
print result
EXAMPLE
#!/usr/bin/python
import dpm
"""
# Using the dpm_ping method
"""
result,info = dpm.dpm_ping("mydpmserver.domain.com")
print result
if (result == 0):
print info
KNOWN BUGS
The current interface to the dpns_getcwd(3), dpns_readlink(3), dpns_seterrbuf(3) requires the passing of str object which is modified to
contain the result (in a similar way to the C functions, which accept a buffer). However this breaks the immutability of python str. This
will be changed in the future.
SEE ALSO
DPM C interface man pages
DPM
$Date: 2010-02-04 13:08:39 +0100 (Thu, 04 Feb 2010) $ dpm_python(3)