How do I wrap a string in a file in Python?
How do I create a file-like object (same duck type as File) with the contents of a string?
Asked by: Marcus281 | Posted: 27-01-2022
Answer 1
For Python 2.x, use the StringIO module. For example:
>>> from cStringIO import StringIO
>>> f = StringIO('foo')
>>> f.read()
'foo'
I use cStringIO (which is faster), but note that it doesn't accept Unicode strings that cannot be encoded as plain ASCII strings. (You can switch to StringIO by changing "from cStringIO" to "from StringIO".)
For Python 3.x, use the io
module.
f = io.StringIO('foo')
Answered by: Emma310 | Posted: 28-02-2022
Answer 2
In Python 3.0:
import io
with io.StringIO() as f:
f.write('abcdef')
print('gh', file=f)
f.seek(0)
print(f.read())
The output is:
'abcdefgh'
Answered by: Stuart744 | Posted: 28-02-2022
Answer 3
This works for Python2.7 and Python3.x:
io.StringIO(u'foo')
Answered by: Rubie760 | Posted: 28-02-2022
Answer 4
If your file-like object is expected to contain bytes, the string should first be encoded as bytes, and then a BytesIO object can be used instead. In Python 3:
from io import BytesIO
string_repr_of_file = 'header\n byline\n body\n body\n end'
function_that_expects_bytes(BytesIO(bytes(string_repr_of_file,encoding='utf-8')))
Answered by: Brooke386 | Posted: 28-02-2022
Similar questions
string - Python - Wrap text in list
I am trying to write a function which takes some text and a list, and then if the last element in the list is small enough so that it can append text to that last element and still have less than 10 chars, then do it. Otherwise, append it to the list separately. The problem I'm having is that if text is for example 25 char long.
For example,
l = ["12345678", "123456789"]
>>> a("a", l)
["12...
How to wrap around a string in python
So I'm trying to make my own version of the ROT13 Cipher, and I want to wrap around a string to the next character.
string = 'abcdefghijklmnopqrstuvwxyz'
# 'u' to 'h' and 'a' to 'n'
If the character was 'u' for example how would I get the character 13 steps in front of it? Which would end up to be 'h'.
I didn't know what to look up because i...
How to split a string in Python?
I have read the documentation but don't fully understand how to do it.
I understand that I need to have some kind of identifier in the string so that the functions can find where to split the string (unless I can target the first space in the sentence?).
So for example how would I split:
"Sico87 is an awful python developer" to "Sico87" and "is an awful Python developer"
regex - get city, state or zip from a string in python
I'd like to be able to parse out the city, state or zip from a string in python. So, if I entered
Boulder, Co
80303
Boulder, Colorado
Boulder, Co 80303
...
any variation of these it would return the city, state or zip.
This is all going to be user inputted data and inputted in one text field.
How regex a empty string in python?
I want that find empty tags, here is a example
txt ="<lol1><><lol2>"
rgx = "<([a-zA-Z_0-9]+)>"
print re.findall(rgex, txt)
I get this
['lol1', 'lol2']
I want
['lol1', '', 'lol2']
How I can do this with regex?
string - Python Socket Send Buffer Vs. Str
I am trying to get a basic server (copied from Beginning Python) to send a str.
The error:
c.send( "XXX" )
TypeError: must be bytes or buffer, not str
It seems to work when pickling an object. All of the examples I found, seem to be able to send a string no problem.
Any help would be appreciated,
Stephen
import socket
import pickle
s = socket.so...
Copy string - Python
Ok guys I imagine this is easy but I can't seem to find how to copy a string. Simply COPY to the system like CTRL+C on a text.
Basically I want to copy a string so I can for example, lets say, paste(ctrl+v).
Sorry for such a trivial question, haha.
How do I strip the comma from the end of a string in Python?
How do I strip comma from the end of a string? I tried
awk = subprocess.Popen([r"awk", "{print $10}"], stdin=subprocess.PIPE)
awk_stdin = awk.communicate(uptime_stdout)[0]
print awk_stdin
temp = awk_stdin
t = temp.strip(",")
also tried t = temp.rstrip(","), both don't work.
This is the code:
uptime = subprocess.Popen([r"uptime"], stdout=subproces...
Print one word from a string in python
How can i print only certain words from a string in python ?
lets say i want to print only the 3rd word (which is a number) and the 10th one
while the text length may be different each time
mystring = "You have 15 new messages and the size is 32000"
thanks.
string - Can ( s is "" ) and ( s == "" ) ever give different results in Python 2.6.2?
As any Python programmer knows, you should use == instead of is to compare two strings for equality. However, are there actually any cases where ( s is "" ) and ( s == "" ) will give different results in Python 2.6.2?
I recently came across code that used ( s is "" ) in code review, and while pointing out that this was incorrect I wanted to give an ex...
string - Wrap long lines in Python
This question already has answers here:
string - Python index more than once
I know that .index() will return where a substring is located in python.
However, what I want is to find where a substring is located for the nth time, which would work like this:
>> s = 'abcdefacbdea'
>> s.index('a')
0
>> s.nindex('a', 1)
6
>>s.nindex('a', 2)
11
Is there a way to do this in python?
string - How do I trim the number of words in Python?
For example...
s = 'The fox jumped over a big brown log.'
k = FUNCTION(s,4)
k should be... "The fox jumped over"
I can write my own function that splits on whitespace, cuts the list and then joins the list. But that is too much work.
Anyone else knows a simpler way?
How to split a string in Python?
I have read the documentation but don't fully understand how to do it.
I understand that I need to have some kind of identifier in the string so that the functions can find where to split the string (unless I can target the first space in the sentence?).
So for example how would I split:
"Sico87 is an awful python developer" to "Sico87" and "is an awful Python developer"
regex - get city, state or zip from a string in python
I'd like to be able to parse out the city, state or zip from a string in python. So, if I entered
Boulder, Co
80303
Boulder, Colorado
Boulder, Co 80303
...
any variation of these it would return the city, state or zip.
This is all going to be user inputted data and inputted in one text field.
How regex a empty string in python?
I want that find empty tags, here is a example
txt ="<lol1><><lol2>"
rgx = "<([a-zA-Z_0-9]+)>"
print re.findall(rgex, txt)
I get this
['lol1', 'lol2']
I want
['lol1', '', 'lol2']
How I can do this with regex?
string - Python Socket Send Buffer Vs. Str
I am trying to get a basic server (copied from Beginning Python) to send a str.
The error:
c.send( "XXX" )
TypeError: must be bytes or buffer, not str
It seems to work when pickling an object. All of the examples I found, seem to be able to send a string no problem.
Any help would be appreciated,
Stephen
import socket
import pickle
s = socket.so...
string - Search and get a line in Python
Is there a way to search, from a string, a line containing another string and retrieve the entire line?
For example:
string =
qwertyuiop
asdfghjkl
zxcvbnm
token qwerty
asdfghjklñ
retrieve_line("token") = "token qwerty"
Copy string - Python
Ok guys I imagine this is easy but I can't seem to find how to copy a string. Simply COPY to the system like CTRL+C on a text.
Basically I want to copy a string so I can for example, lets say, paste(ctrl+v).
Sorry for such a trivial question, haha.
string - how to change [1,2,3,4] to '1234' using python
How do I convert a list of ints to a single string, such that:
[1, 2, 3, 4] becomes '1234'
[10, 11, 12, 13] becomes '10111213'
... etc...
How do I strip the comma from the end of a string in Python?
How do I strip comma from the end of a string? I tried
awk = subprocess.Popen([r"awk", "{print $10}"], stdin=subprocess.PIPE)
awk_stdin = awk.communicate(uptime_stdout)[0]
print awk_stdin
temp = awk_stdin
t = temp.strip(",")
also tried t = temp.rstrip(","), both don't work.
This is the code:
uptime = subprocess.Popen([r"uptime"], stdout=subproces...
Print one word from a string in python
How can i print only certain words from a string in python ?
lets say i want to print only the 3rd word (which is a number) and the 10th one
while the text length may be different each time
mystring = "You have 15 new messages and the size is 32000"
thanks.
Still can't find your answer? Check out these communities...
PySlackers | Full Stack Python | NHS Python | Pythonist Cafe | Hacker Earth | Discord Python