Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Wrong EOL characters written to file when saving #17045

Closed
8 tasks done
yum-yum-in-my-tum-tum opened this issue Dec 17, 2021 · 2 comments
Closed
8 tasks done

Wrong EOL characters written to file when saving #17045

yum-yum-in-my-tum-tum opened this issue Dec 17, 2021 · 2 comments

Comments

@yum-yum-in-my-tum-tum
Copy link

yum-yum-in-my-tum-tum commented Dec 17, 2021

Issue Report Checklist

  • Restarted Spyder, problem persists. Updated conda, Spyder is up to date. Restarted Spyder again, problem persists.
  • Reproduced the issue after updating with conda update spyder (or pip, if not using Anaconda)
  • Done, reports that Spyder already up to date
  • Tried basic troubleshooting (if a bug/error)
    • Restarted Spyder
    • Reset preferences with spyder --reset
    • Tried the other applicable steps from the Troubleshooting Guide
  • Completed the Problem Description, Steps to Reproduce and Version sections below

Problem Description

I am writing a .txt file from a python script in Spyder. I would like the end of line (EOL) character to be a line feed (LF), not a carriage return/line feed (CRLF). I have set the EOL character to LF in Spyder, and there are no "\r"s in my script. When I open the file in Notepad++ to check, it shows CRLF, not LF. Spyder displays the EOL option correctly in the bottom right of the viewer.

What steps reproduce the problem?

  1. Set Spyder Preferences -> Editor -> "On save: convert EOL characters" set to "LF (Unix)"

2. Set Source -> Convert end of line characters to "Line Feed (Unix)"

3. Write sample code to a text file 4. Open text file in Notepad++, setting View -> Show symbols -> Show all characters

Sample code:

out_file = open('linefeed_fix_test1.txt', 'w')
test_list = ["line1|value1|value2", "line2|value1|value2", "line3|value1|value2", "line4|value1|value2", "line5|value1|value2"]
for i in test_list:
    out_file.write("{}\n".format(i))
out_file.close()

What is the expected output? What do you see instead?

  • Expected output:

  • Actual output:

Versions

  • Spyder version: 5.1.5
  • Python version: 3.9.7 64-bit
  • Qt version: 5.9.7
  • PyQt5 version: 5.9.2
  • Operating System: Windows 10

Dependencies

# Mandatory:
atomicwrites >=1.2.0          :  1.4.0 (OK)
chardet >=2.0.0               :  4.0.0 (OK)
cloudpickle >=0.5.0           :  2.0.0 (OK)
cookiecutter >=1.6.0          :  1.7.2 (OK)
diff_match_patch >=20181111   :  20200713 (OK)
intervaltree >=3.0.2          :  3.1.0 (OK)
IPython >=7.6.0               :  7.29.0 (OK)
jedi >=0.17.2;<0.19.0         :  0.18.0 (OK)
jsonschema >=3.2.0            :  3.2.0 (OK)
keyring >=17.0.0              :  23.1.0 (OK)
nbconvert >=4.0               :  6.1.0 (OK)
numpydoc >=0.6.0              :  1.1.0 (OK)
paramiko >=2.4.0              :  2.7.2 (OK)
parso >=0.7.0;<0.9.0          :  0.8.2 (OK)
pexpect >=4.4.0               :  4.8.0 (OK)
pickleshare >=0.4             :  0.7.5 (OK)
psutil >=5.3                  :  5.8.0 (OK)
pygments >=2.0                :  2.10.0 (OK)
pylint >=2.5.0;<2.10.0        :  2.9.6 (OK)
pyls_spyder >=0.4.0           :  0.4.0 (OK)
pylsp >=1.2.2;<1.3.0          :  1.2.4 (OK)
pylsp_black >=1.0.0           :  None (OK)
qdarkstyle =3.0.2             :  3.0.2 (OK)
qstylizer >=0.1.10            :  0.1.10 (OK)
qtawesome >=1.0.2             :  1.0.2 (OK)
qtconsole >=5.1.0             :  5.1.1 (OK)
qtpy >=1.5.0                  :  1.10.0 (OK)
rtree >=0.9.7                 :  0.9.7 (OK)
setuptools >=49.6.0           :  58.0.4 (OK)
sphinx >=0.6.6                :  4.2.0 (OK)
spyder_kernels >=2.1.1;<2.2.0 :  2.1.3 (OK)
textdistance >=4.2.0          :  4.2.1 (OK)
three_merge >=0.1.1           :  0.1.1 (OK)
watchdog >=0.10.3             :  2.1.3 (OK)
zmq >=17                      :  22.2.1 (OK)
# Optional:
cython >=0.21                 :  0.29.24 (OK)
matplotlib >=2.0.0            :  3.4.3 (OK)
numpy >=1.7                   :  1.20.3 (OK)
pandas >=1.1.1                :  1.3.4 (OK)
scipy >=0.17.0                :  1.7.1 (OK)
sympy >=0.7.3                 :  1.9 (OK)
@ccordoba12
Copy link
Member

Hey @yum-yum-in-my-tum-tum, thanks for reporting. You're right: we're not setting EOL chars correctly when saving. We'll try to fix that in our next version.

@ccordoba12 ccordoba12 changed the title Wrong EOL characters written to file Wrong EOL characters written to file when saving Dec 17, 2021
@ccordoba12 ccordoba12 added this to the v5.2.2 milestone Dec 17, 2021
@ccordoba12 ccordoba12 self-assigned this Dec 17, 2021
@yum-yum-in-my-tum-tum
Copy link
Author

@ccordoba12 Awesome, thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants