0

我正在尝试使用此 python 代码将文件转换为另一种格式,该代码需要三个参数输入文件、输出文件和百分比值。我在 shell 脚本中调用 python 函数,它第一次工作正常,但第二次不工作。错误是“IOError:[Errno 2] 没有这样的文件或目录:'ux_source_2850.txt”。但我很确定这个文件在这个目录中。有人可以帮帮我吗。另外,我想知道是否有另一种调用python函数的方法,比如编译的c函数,所以我可以与几个参数一起执行该函数。

#!/usr/bin/env python
def convertfile(file1,file2,percentage): 
  with open(file1, "r+") as infile, open(file2, "w+") as outfile:
    outfile.write('lon lat Ve Vn Se Sn Cen Site Ref\n')
    for line in infile.readlines():
      line = line.strip()
      new_line=line + " "+percentage+" "+percentage+" "+'0.05 stat(0,0) test1'+'\n'
      outfile.write(new_line)
file1=raw_input()                                                              
file2=raw_input()                                                              
percentage=raw_input()                                                         
convertfile(file1,file2,percentage)

#!/bin/bash
infile1=ux_source_$j.txt                                                       
outfile1=ux_$j.txt                                                             
percentage1=`sort biggest_z_amp  | tail -1 | awk '{print $1*2e4}'`             
../convertfile.py<<!                                                           
$infile1                                                                       
$outfile1                                                                      
$percentage1                                                                   
!                                                                              
infile2=uy_source_$j.txt                                                       
outfile2=uy_$j.txt                                                             
../convertfile.py<<!                                                           
$infile2                                                                       
$outfile2                                                                      
$percentage1                                                                   
!              
4

1 回答 1

1

可能是您的问题出在 shell 脚本中,而不是 Python 脚本中。确保在作为 Python 脚本输入的行中没有尾随空格。

更好的是,使用:

file1 = raw_input().strip()
file2 = raw_input().strip()
于 2013-08-28T22:55:51.877 回答