Arn*_*rne 10
您没有提供任何测试数据,因此我希望我的随机示例可以很好地解决您的问题.简而言之:如果您不想在测试期间创建临时文件对象(这是一个合理的约束,imo),请使用StringIO.该mock模块有一个重要的进入障碍,所以如果你不需要它的发烧mock能力,你不应该使用它.
from io import StringIO
from csv import reader # this should import your custom parser instead
in_mem_csv = StringIO("""\
col1,col2,col3
1,3,foo
2,5,bar
-1,7,baz""") # in python 2.7, put a 'u' before the test string
test_reader = reader(in_mem_csv, delimiter=',', quotechar='|')
for line in test_reader:
print(line)
# whatever you need to test to make sure the csv reader works correctly
Run Code Online (Sandbox Code Playgroud)
输出:
['col1', 'col2', 'col3']
['1', '3', 'foo']
['2', '5', 'bar']
['-1', '7', 'baz']
Run Code Online (Sandbox Code Playgroud)
编辑:替代字符串格式
我个人更喜欢使用三重字符串来表示文件,在您的情况下,普通字符串可能更好.请参阅此示例,了解如何方便地断行而不更改字符串的值.
in_mem_csv = StringIO(
"col1,col2,col3\n"
"1,3,foo\n"
"2,5,bar\n"
"-1,7,baz\n"
)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3862 次 |
| 最近记录: |