2013-08-16 5 views
7

मैं हर फ्रेम के साथ कि मैं (थोड़ा परिवर्तन के साथ) एक ही आदेश को चलाने के लिए इस कोड को चलाने के लिए, कोशिश कर रहा हूँ:लेखन त्रुटि: अशक्त बाइट्स के बिना स्ट्रिंग होनी चाहिए, नहीं str

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("../") 

मैं इस चलाने और मैं इस त्रुटि मिलती है:


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 

मैं इंटरनेट में खोजा गया है, लेकिन मैं एक अच्छा जवाब नहीं मिल रहा।

pml_cmd = r "pymol UREI% s:

उत्तर

3
समस्या

, स्ट्रिंग decleration से पहले" \\ " या वैकल्पिक रूप से एक" आर "को जोड़ने के लिए बदल गया अर्थात \ चार है कि या तो डबल भाग निकले किया जाना चाहिए के साथ है .pdb ... "

आप इस विशेष त्रुटि के बाद से कहीं स्ट्रिंग के साथ वहाँ है एक \ 0 जो एक शून्य चार के रूप में व्याख्या की है मिल

0

मैं print बाहर टिप्पणी करके इस त्रुटि को हल करने में सक्षम था:

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

मैं print(tarfileobj.split) कर सकता था या repr मुद्रित कर सकता था या \0 शून्य बाइट हटा दिया गया था, या यदि यह एक टैरिफाइल है, तो बस इसे निकालें।

संबंधित मुद्दे