Я выполняю CGI-скрипт на python, используя numpy для чтения данных из CSV, созданного на лету.Numpy жалуется, что не может найти файл, но он там есть.Из скрипта python я могу использовать system (cat), чтобы напечатать файл заранее ...
filename is: /tmp/file3aQJRn
Dump file with system(cat)...
A
-257
-1
-136
29567
-97
-8867
-27041
-12323
-17473
-659
Ask numpy to read it...
Traceback (most recent call last):
(some lines deleted, then...)
File "request", line 195, in get_rawcsv_column
col_data = get_csv_column(fname,column)
File "request", line 189, in get_csv_column
all_data = np.genfromtxt(fname,delimiter=",")
File "usr/lib/python3.6/site-packages/numpy/lib/npyio.py", line 1551, in genfromtxt
File "usr/lib/python3.6/site-packages/numpy/lib/_datasource.py", line 151, in open
File "usr/lib/python3.6/site-packages/numpy/lib/_datasource.py", line 501, in open
OSError: "/tmp/file3aQJRn" not found.
После этого я могу вывести файл в командной строке bash:
# cat /tmp/file3aQJRn
A
-257
-1
-136
29567
-97
-8867
-27041
-12323
-17473
-659
ИЯ могу вызвать Python (3.6) и numpy, чтобы прочитать файл ...
numpy.genfromtxt("/tmp/file3aQJRn",delimiter=",")
array([ nan, -2.57000000e+02, -1.00000000e+00,
-1.36000000e+02, 2.95670000e+04, -9.70000000e+01,
-8.86700000e+03, -2.70410000e+04, -1.23230000e+04,
-1.74730000e+04, -6.59000000e+02])
(Nan не проблема. Это заголовок столбца, который впоследствии удаляется из массива.)
Что здесь происходит?Временный файл создается приложением C ++ с использованием std :: ofstream, получив временное имя файла от tmpnam ().