python2:TypeError: must be string without null bytes, not str

Join Stack Overflow to learn, share knowledge, and build your career.java

I'm trying to run this code, to run the same command (with little changes) with every frame that I have:python

traj.reset() import os #os.chdir(outname) for i, frame in enumerate(traj): frame.superpose() comando = "python hollow.py -c constraint -o hollow_%s.pdb urei%s.pdb" % (i, i) os.system(comando) pml_cmd = "pymol urei%s.pdb hollow_%s.pdb -c -d 'as cartoon, urei%s;color gray90, urei%s;center chain A;set_view (\-0.605158150,0.089404292,0.791067421,\0.795849979,0.093013920,0.598304033,\-0.020089993,0.991641700,-0.127439827,\0.000000000,0.000000000,-202.017959595,\-28.771762848,-7.683309555,10.745590210,\-568.485290527,972.520690918,-20.000000000);bg white;as sphere, hollow_%s;color cyan, hollow_%s;ray;save urei%s.png' " % (i, i, i, i, i, i, i) os.system(pml_cmd) #remove = "rm urei%s.pdb hollow_%s.pdb" % (i, i) #os.system(remove) os.chdir("../")

I run this and I get this error:android


TypeError Traceback (most recent call last) <ipython-input-8-53cd3e7bd107> in <module>() 7 os.system(comando) 8 pml_cmd = "pymol urei%s.pdb hollow_%s.pdb -c -d 'as cartoon, urei%s;color gray90, urei%s;center chain A;set_view (\-0.605158150,0.089404292,0.791067421,\0.795849979,0.093013920,0.598304033,\-0.020089993,0.991641700,-0.127439827,\0.000000000,0.000000000,-202.017959595,\-28.771762848,-7.683309555,10.745590210,\-568.485290527,972.520690918,-20.000000000);bg white;as sphere, hollow_%s;color cyan, hollow_%s;ray;save urei%s.png' " % (i, i, i, i, i, i, i) ----> 9 os.system(pml_cmd) 10 #remove = "rm urei%s.pdb hollow_%s.pdb" % (i, i) 11 #os.system(remove) TypeError: must be string without null bytes, not str

I searched in internet, but I can't find a good answer.ios

share improve this question
 

2 Answers

The problem is with the \ char that should either be double escaped, i.e. changed to "\\" Or alternatively add an "r" before the string decleration:c++

pml_cmd = r"pymol urei%s.pdb ..."ruby

You get this particular error since somewhere along the string there is a \0 which is interpreted as a NULL charsession

share improve this answer
 

I was able to resolve this error by commenting out the print:app

for tarfileobj in inputs: # print(tarfileobj) tarfileobj.extractall(path=t, members=None)

I could have done print(tarfileobj.split) or printed the repr or removed \0 null bytes, or if its a tarfile, just extract it.ruby-on-rails

share improve this answer
 

Your Answer

 
 
 
 

By posting your answer, you agree to the privacy policy and terms of service.ide

Not the answer you're looking for? Browse other questions tagged python null byte os.system or ask your own question.

asked

4 years, 5 months ago

viewed

11,725 times

active

1 year, 1 month ago

Looking for a job?
  • Mobile Software Engineer - Android/iOS
    Stonecrop Technologies, LLCPetaluma, CA
    REMOTE
    androidruby-on-rails
     
  • Head of Trading Operations - China
    Hudson River TradingShanghai, China
    pythonc++