Path: csiph.com!usenet.pasdenom.info!nntpfeed.proxad.net!proxad.net!feeder1-2.proxad.net!news.tele.dk!news.tele.dk!small.news.tele.dk!newsgate.cistron.nl!newsgate.news.xs4all.nl!post.news.xs4all.nl!not-for-mail Return-Path: X-Original-To: python-list@python.org Delivered-To: python-list@mail.python.org X-Spam-Status: OK 0.016 X-Spam-Evidence: '*H*': 0.97; '*S*': 0.00; 'subject:error': 0.03; 'value,': 0.04; 'exists.': 0.07; "subject:' ": 0.07; "'')": 0.09; 'exception,': 0.09; 'subject:position': 0.09; 'backslash': 0.16; 'subject: \n ': 0.16; 'subject:skip:u 10': 0.16; 'subject:unicode': 0.16; 'truncate': 0.16; 'truncating': 0.16; '(you': 0.16; 'size,': 0.16; 'wrote:': 0.18; 'header:User- Agent:1': 0.23; 'config': 0.24; 'file.': 0.24; 'header:In-Reply- To:1': 0.27; 'am,': 0.29; 'character': 0.29; 'characters': 0.30; 'code': 0.31; 'file': 0.32; "we're": 0.32; 'limitation': 0.33; 'problem': 0.35; "can't": 0.35; 'no,': 0.35; 'point.': 0.35; 'but': 0.35; 'doubt': 0.36; 'wrong': 0.37; 'too': 0.37; 'skip:o 20': 0.38; 'to:addr:python-list': 0.38; 'expect': 0.39; 'skip:. 10': 0.39; 'subject:can': 0.39; 'to:addr:python.org': 0.39; 'either': 0.39; 'skip:p 20': 0.39; 'even': 0.60; 'read': 0.60; 'full': 0.61; 'took': 0.61; 'course': 0.61; 'email addr:gmail.com': 0.63; 'show': 0.63; 'such': 0.63; 'total': 0.65; 'forward': 0.65; 'charset:windows-1252': 0.65; 'received:74.208': 0.68; 'results': 0.69; 'total,': 0.84 Date: Sat, 09 May 2015 08:25:20 -0400 From: Dave Angel User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.6.0 MIME-Version: 1.0 To: python-list@python.org Subject: Re: SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape References: <8360473a-45ac-4270-9bf3-81932da5f223@googlegroups.com> <554d768d$0$13000$c3e8da3$5496439d@news.astraweb.com> <580ee0d6-a703-4da3-af2d-105589a1780f@googlegroups.com> In-Reply-To: <580ee0d6-a703-4da3-af2d-105589a1780f@googlegroups.com> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K0:I4/cwjWDpKuXgmtEtbq7WtocXu8w0p3PdKcu8UGjnUhz5qtcwpx p0NfNcq6L2H3fg07YVSHng+cI/pGthTXOhibwAi0WR8Rhy73nMWQD2AVoJUHd/EYCIRftRH 13R04bBF7A+0CXsEvB+33HAC4mgyfv0BOSr4npQmQPMpvlpYZzRs83dmFUgNFNHlY8DtnA9 /qYsBsM3DaQg/VxPdXzwQ== X-UI-Out-Filterresults: notjunk:1; X-BeenThere: python-list@python.org X-Mailman-Version: 2.1.20+ Precedence: list List-Id: General discussion list for the Python programming language List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Newsgroups: comp.lang.python Message-ID: Lines: 44 NNTP-Posting-Host: 2001:888:2000:d::a6 X-Trace: 1431174340 news.xs4all.nl 2832 [2001:888:2000:d::a6]:35719 X-Complaints-To: abuse@xs4all.nl Xref: csiph.com comp.lang.python:90230 On 05/09/2015 06:31 AM, zljubisicmob@gmail.com wrote: > > title = title[:232] > title = title.replace(" ", "_").replace("/", "_").replace("!", "_").replace("?", "_")\ > .replace('"', "_").replace(':', "_").replace(',', "_").replace('"', '')\ > .replace('\n', '_').replace(''', '') > > print(title) > > src_file = os.path.join(ROOTDIR, 'src_' + title + '.txt') > dst_file = os.path.join(ROOTDIR, 'des_' + title + '.txt') > > print(len(src_file), src_file) > print(len(dst_file), dst_file) > > with open(src_file, mode='w', encoding='utf-8') as s_file: > s_file.write('test') > > > shutil.move(src_file, dst_file) > > It works, but if you change title = title[:232] to title = title[:233], you will get "FileNotFoundError: [Errno 2] No such file or directory". > As you can see ROOTDIR contains \U. No, we can't see what ROOTDIR is, since you read it from the config file. And you don't show us the results of those prints. You don't even show us the full exception, or even the line it fails on. I doubt that the problem is in the ROODIR value, but of course nothing in your program bothers to check that that directory exists. I expect you either have too many characters total, or the 232th character is a strange one. Or perhaps title has a backslash in it (you took care of forward slash). While we're at it, if you do have an OS limitation on size, your code is truncating at the wrong point. You need to truncate the title based on the total size of src_file and dst_file, and since the code cannot know the size of ROOTDIR, you need to include that in your figuring. -- DaveA