Discussions
Categories
- 197K All Categories
- 2.5K Data
- 546 Big Data Appliance
- 1.9K Data Science
- 450.8K Databases
- 221.9K General Database Discussions
- 3.8K Java and JavaScript in the Database
- 31 Multilingual Engine
- 552 MySQL Community Space
- 479 NoSQL Database
- 7.9K Oracle Database Express Edition (XE)
- 3.1K ORDS, SODA & JSON in the Database
- 556 SQLcl
- 4K SQL Developer Data Modeler
- 187.2K SQL & PL/SQL
- 21.4K SQL Developer
- 296.3K Development
- 17 Developer Projects
- 139 Programming Languages
- 293K Development Tools
- 110 DevOps
- 3.1K QA/Testing
- 646.1K Java
- 28 Java Learning Subscription
- 37K Database Connectivity
- 158 Java Community Process
- 105 Java 25
- 22.1K Java APIs
- 138.2K Java Development Tools
- 165.3K Java EE (Java Enterprise Edition)
- 19 Java Essentials
- 162 Java 8 Questions
- 86K Java Programming
- 81 Java Puzzle Ball
- 65.1K New To Java
- 1.7K Training / Learning / Certification
- 13.8K Java HotSpot Virtual Machine
- 94.3K Java SE
- 13.8K Java Security
- 205 Java User Groups
- 24 JavaScript - Nashorn
- Programs
- 468 LiveLabs
- 39 Workshops
- 10.2K Software
- 6.7K Berkeley DB Family
- 3.5K JHeadstart
- 5.7K Other Languages
- 2.3K Chinese
- 175 Deutsche Oracle Community
- 1.1K Español
- 1.9K Japanese
- 233 Portuguese
Need help translating Python phrase
Hi,
We're kind in a bind. We had a guy write some Python and then leave. Of course no documentation, no comments.
Not knowing Python we need translate this into Shell script because we're on a dead line to run it.
We are translating a Python 'replace' command in a file_write method.
I am trying to see what '(\"|\\\|'')') would translate to in Linux using the sed command.
Are they looking for " then replacing all "\" with just ')'?
The replace command is at the end of the line below.
Specifically replace = '(\"|\\\|'')' output = dnb.file_write(input_file = gunzip_dnb['file_output'], output_file = 'dnb_{0}{1}'.format(yyyy,mm), folder = gunzip_dnb['folder'], delimiter = '|', header = header_dnb, replace = '(\"|\\\|'')')
Would the Sed statement be something like: sed /'(\"/\\\/'')'/g or in shell script: s/'(\"/\\\/'')'/g?
Is it saying start when you find the first " in a record then replace all '\' with ')"?
In addition here's the code for the file_write method.
def file_write(self, input_file, output_file, delimiter, folder = None, header = None, replace = None): """ Creates a file from an input of lines. """ if folder == None: folder = self._folder with open('{0}/{1}'.format(folder, input_file), encoding = 'utf-8', errors = 'ignore') as file: lines = file.readlines() file_header = self.file_header(lines) file_trailer = self.file_trailer(lines) file_date = self.file_date(file_header, file_trailer) file_output = lines[file_header['line']:file_trailer['line']] with open('{0}/{1}'.format(folder, output_file), 'w') as output_file: if not header == None: output_file.write(header) output_file.write('\n') for line in file_output: if not replace == None: line = self.line_replace(line, find = replace, replace = '') line = self.line_split(line, delimiter) line.insert(0, file_date) line = ('{0}'.format(delimiter)).join(line) output_file.write(line) output_file.write('\n') file_write = dict() file_write['file'] = file file_write['folder'] = folder return file_write
And for Line_replace:
def line_replace(self, line, find, replace):"""Replaces a value in a line. Parameters----------Returns-------result : """line = re.sub(r'{0}'.format(find), replace, line)return line
Please let us know if you can help.
Thanks!